asp.net coreと言えど javascript コードを書くのに1個のファイルにごちゃごちゃと色んなものを混ぜたくはないので、適当なモジュールに分割したい。
モジュールの記述
モジュール "Mod" を_mod.js に書く。
/**
* 何か機能を提供するモジュール
*/
var Mod = Mod || (function(){
var privateVariable = 1;
var o = {
/**
* 何かを実行する関数
*/
method: function(){
return privateVariable;
}
}
return o;
})();
bundle
拡張機能 Bundler & Minifier をインストールしておき、 bundleconfig.jsonを書く
[
{
"outputFileName": "wwwroot/js/global.js",
"inputFiles": [
"wwwroot/js/src/_mod.js",
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
}
]
これで bundle を実行すると wwwroot/js/global.js が生成されるので、 _Layoutあたりで参照しておけば良い
jsdoc
匿名関数に必要なものを入れつつ jsdocが有効になるやり方を探っていたけど、モジュールの記述で書いたような var Foo = Foo || (function(){})();
みたいな書き方に落ち着きつつある。