私のアプリでは、いくつかの属性&構造ディレクティブを作成しました。これは他の人にとって非常に便利だと思います。しかし、Angular2のドキュメントを検索した結果、&のスタックオーバーフローが発生しました。個別のプラグインを&にパッケージする方法についてのガイドが見つかりません。Angular2プラグインをパッケージ化&リリースするにはどうすればよいですか?
ディレクティブを他のプロジェクトにインストールしてインポートできるパッケージにどのようにしてバンドルできますか?
私のアプリでは、いくつかの属性&構造ディレクティブを作成しました。これは他の人にとって非常に便利だと思います。しかし、Angular2のドキュメントを検索した結果、&のスタックオーバーフローが発生しました。個別のプラグインを&にパッケージする方法についてのガイドが見つかりません。Angular2プラグインをパッケージ化&リリースするにはどうすればよいですか?
ディレクティブを他のプロジェクトにインストールしてインポートできるパッケージにどのようにしてバンドルできますか?
ライブラリはtscコンパイラを使用してパッケージ化できます。このレベルで理解すべき重要なことは、次の構成を使用すると、コンパイルされたJSファイルを直接連結して単一のJSファイルを取得できないことです。活字体のコンパイラの設定で
:
{
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"declaration": false,
"stripInternal": true,
"module": "system",
"moduleResolution": "node",
"noEmitOnError": false,
"rootDir": ".",
"inlineSourceMap": true,
"inlineSources": true,
"target": "es5"
},
"exclude": [
"node_modules"
]
}
実際のところHTML
System.config({
packages: {
app: {
defaultExtension: 'js',
format: 'register'
}
}
});
では、これらのJSファイルは匿名のモジュールが含まれています。匿名モジュールは、System.register
を使用するJSファイルですが、モジュール名は第1パラメータとして使用されません。これは、systemjsがモジュールマネージャーとして構成されているときに、typescriptコンパイラーがデフォルトで生成するものです。
すべてのモジュールを1つのJSファイルにまとめるには、TypeScriptコンパイラ設定内でoutFile
プロパティを利用する必要があります。
この質問はあなたにいくつかのadditionnalヒントを与えることができる:あなたはまた、ライブラリ(およびアプリケーション)をパッケージ化するのWebPACKを使用することができます
。あなたはng2-selectが何をするかを見ることができます。
:この設定ファイルを参照してください。