これは私がこれまでに行った最もクリーンな方法だと思います。
イオンビルドスクリプトのコピー部分をオーバーライドしようとしています。彼らはこれを奨励し、簡単にするためのビルドスクリプトを作成しました。
npm install chart.js --save
(プロジェクトのルートにnode_packagesフォルダにchart.jsライブラリをインストールしている)で
ルック:あなたはすでに何が必要ライブラリをインストールするために、NPMを使用しましたと仮定すると、
/node_modules/@ionic/app-scripts/config/copy.config.js。これが優先されますので、その内容をファイル/config/copy.config.jsにコピーします(/ configフォルダを作成する必要があります)。
module.exports = {
include: [
{
src: '{{SRC}}/assets/',
dest: '{{WWW}}/assets/'
},
{
src: '{{SRC}}/index.html',
dest: '{{WWW}}/index.html'
},
{
src: '{{SRC}}/manifest.json',
dest: '{{WWW}}/manifest.json'
},
{
src: '{{SRC}}/service-worker.js',
dest: '{{WWW}}/service-worker.js'
},
{
src: 'node_modules/ionic-angular/polyfills/polyfills.js',
dest: '{{BUILD}}/polyfills.js'
},
{
src: 'node_modules/ionicons/dist/fonts/',
dest: '{{WWW}}/assets/fonts/'
},
{
src: './node_modules/chart.js/dist/Chart.bundle.min.js',
dest: '{{BUILD}}/Chart.bundle.min.js'
},
]
};
最後のセクションは、chart.jsファイルを実際にビルドに引き込まれる場所にコピーするために追加したものです。ビルド今
"config": {
"ionic_copy": "./config/copy.config.js"
},
、ファイル:
私たちのスクリプトを取得するために使用することは、package.jsonはそれについて語ったので、あなたの/package.jsonファイルにこの「設定」セクションを追加する必要があります最初のコピーが完了した後は明らかに簡単にコピーできます。あなたが上書きすることができるイオンビルドプロセスの他の部分もあります。それは調べる価値があります。
https://ionicframework.com/docs/v2/resources/app-scripts/
今、あなたは簡単にそれを呼び出すことができ、一つの選択肢は、index.htmlをの内側にある:
<script src="build/Chart.bundle.min.js"></script>
あなたはモジュールのアップデートをインストールする場合の利点は、ある、ファイルがで更新されます変更あなたのビルドはもちろん、vcsを使って簡単に作業し、依存関係はnpmで処理されるので、新しい環境を設定することができます。スクリプト拡張によって他のすべてが処理されます。:-)
希望に役立ちます! :-)
ありがとうございます。それはうまくいった。しかし、 "ionic_copy"をpackage.jsonに追加したので、私のIonic 2プロジェクトのライブリロード機能が動作しなくなりました。私のプロジェクトディレクトリの.tsファイルを変更して保存したとします。ライブリロードはプロジェクトを自動的に更新するはずですが、現在はそうしていません。助言がありますか? – filipvkovic
そのソリューションをありがとう、それは多くの助けとなりました。 – lightstalker89
この提案は素晴らしいです!ただし、インデックスファイルにタグを追加したくない場合は、tsファイルのimport文とsassファイルの@import文を代わりに使用してください。 copy.config.jsを無効にするには、ライブリロードが機能するようにwatch.config.jsファイルもオーバーライドする必要があります。元の設定を@ionic/app-scripts/configにコピーし、require()コマンドを相対node_modulesの場所に向けてください。乾杯 – 4UmNinja