如何在建筑应用程序中加载图书馆的资产(角度6)

时间:2018-08-25 09:21:00

标签: angular6

我制作了一个角度为6的图书馆,这个图书馆里有很多资产。
当我在另一个应用程序中安装此库并构建该应用程序时,库的资产不存在于生产构建文件中。 我不想在应用程序的 var allProducts = [Product]() override func viewDidLoad() { super.viewDidLoad() mostPopularCollectionView.dataSource = self mostPopularCollectionView.delegate = self getAllProducts { (returnedProductArray) in self.allProducts = returnedProductArray } self.mostPopularCollectionView.reloadData() } 中添加图书馆资源。

如何在建筑物中加载图书馆资产?

先谢谢了。

1 个答案:

答案 0 :(得分:2)

根据this documentation

  

npm支持package.json文件的“ scripts”属性,用于   以下脚本:
  安装后安装:在安装软件包后运行。

因此,在您自己的库的package.json文件中,添加如下部分:

package.json:

{
  "name": "app",
  "version": "0.0.0",
  "scripts": {
    "install": "run some script in any language like node-js or python,..."
  }
  // ...
}

然后,您可以编写一个脚本文件(例如,在node-js中)以完成一些工作,例如将资产复制到所需的位置,编译一些文件等。

所以最终的更改将是这样的:

package.json:

{
  "name": "app",
  "version": "0.0.0",
  "scripts": {
    "install": "node install-assets.js"
  }
  // ...
}

install-assets.js文件中,您可以编写代码来复制文件:

var ncp = require('ncp').ncp; // ~ npm i ncp

ncp('sourcePath', 'destPath', function (err) {
 if (err) {
   return console.error(err);
 }
 console.log('done!');
});