我搭建了一个Angular 2 TypeScript解决方案,并添加了Material Angular 2 NPM包。
npm install -g angular-cli
ng new PROJECT_NAME
cd PROJECT_NAME
ng build
所有内容都已从我的脚手架源文件夹精确地复制到dist文件夹。
接下来,我会添加Angular 2材料npm包:
npm install ng2-material --save
但是,我该从哪里开始呢?我该如何告诉构建命令将必要的文件从node_modules复制到dist文件夹中。
这些文件被复制到dist/vendor文件夹的魔法在哪里呢?
<body>
<timer-app>Loading...</timer-app>
<script src="vendor/es6-shim/es6-shim.js"></script>
<script src="vendor/systemjs/dist/system-polyfills.js"></script>
<script src="vendor/angular2/bundles/angular2-polyfills.js"></script>
<script src="vendor/systemjs/dist/system.src.js"></script>
<script src="vendor/rxjs/bundles/Rx.js"></script>
<script src="vendor/angular2/bundles/angular2.dev.js"></script>
<script src="vendor/angular2/bundles/http.dev.js"></script>
<script src="vendor/angular2/bundles/router.dev.js"></script>
...
我的软件包文件看起来像这样: https://gist.github.com/nikolaj-kaplan/e85d5805fd67c3ba3f1f 我希望我的困惑是因为对npm的了解不足,而不是angular cli。(因为更多的人能够帮助我)。但是我两者都没有太多经验。
编辑: 我做了以下操作: https://dev59.com/tlsV5IYBdhLWcg3w4iA_#35900837
module.exports = function (defaults) {
var app = new Angular2App(defaults, {
vendorNpmFiles: [
'node_modules/ng2-material/dist/ng2-material.css'
]
});
return app.toTree();
}
现在我的文件已经复制了。仍然不明白 dist 文件夹中的其他文件是如何被复制的。vendorNpmFiles 数组为空。
gulp
从node_modules文件夹中复制供应商文件 :) - Poul Kruijttypescript-collections
和bootstrap,但它不会将其字段复制到dist/vendor/whatever
。 你解决了吗?我相信安装的包需要一个特别精心制作的packages.json
才能开箱即用-我在一些可以工作的包中看到了一些特定的属性,例如_location
,_installable
等,这似乎会影响此行为。+1 - jweyrich