如何获得angular 2 cli将css和其他必要文件复制到dist文件夹

时间:2016-03-11 19:12:24

标签: angular npm angular-cli ember-cli

我已经设置了一个有角度的2个打字稿解决方案并添加了材料角2 npm包。

npm install -g angular-cli
ng new PROJECT_NAME
cd PROJECT_NAME
ng build

从我的脚手架源文件夹到dist文件夹,一切都很好地复制了。

然后我添加了角度2材质npm包:

npm install ng2-material --save

但是我从这里做什么?如何告诉build命令将必需的文件从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的知识。而不是角度cli。 (因为更多的人能够帮助我)。但我在这两方面都没有多少经验。

编辑:

我是这样的: https://stackoverflow.com/a/35900837/564623

module.exports = function (defaults) {
  var app = new Angular2App(defaults, {
      vendorNpmFiles: [
          'node_modules/ng2-material/dist/ng2-material.css'
      ]
  });
  return app.toTree();
}

现在我的文件被复制了。仍然不了解dist文件夹中的其他文件是如何被复制的。 vendorNpmFiles数组为空。

2 个答案:

答案 0 :(得分:3)

您不需要node_modules /前缀,vendorNpmFiles会自动搜索node_modules

module.exports = function(defaults) {
  return new Angular2App(defaults, {
    vendorNpmFiles: [
      'ng2-material/dist/ng2-material.css'
    ]
  });
};

答案 1 :(得分:1)

使用angular-cli创建的项目,你有文件 .angular-cli.json ,你应该在&#34;样式&#34;中添加css。例如,section数组包含node_modules中的bootstrap css我添加以下行:

  "styles": [
    "styles.css",
    "../node_modules/bootstrap/dist/css/bootstrap.min.css"
  ],

我希望这可以帮到你