25

我想尝试使用 angular-cli ( https://github.com/angular/angular-cli ) 创建一个 Angular 2 应用程序,然后使用 ng2-material ( https://github.com/justindujardin/ng2-material )用于 UI 组件。但我只是不明白我必须如何/在哪里包含 ng2-material 库才能使用它。

我创建了一个项目,ng new myproject然后我启动了服务器ng serve并打开了运行良好的网页。下一步,我用npm install ng2-material --save. 然后我添加MATERIAL_PROVIDERS到 Angular 的引导程序中,如下所示https://github.com/AngularShowcase/angular2-seed-ng2-material/blob/master/app/bootstrap.ts

这导致网络浏览器中出现错误消息GET http://localhost:4200/ng2-material/all 404 (Not Found),我只是不知道如何摆脱它。

angular-cli 似乎正在做一些事情来创建一个dist-folder,其中 index.html 中使用的一些节点模块最终位于其中,但我看不到它的配置位置或方式。

4

2 回答 2

13

[编辑 29/09/2016]现在 angular-cli 正在使用 webpack iso system.js,这个答案不再有意义了。检查angular-cli wiki 上的“ 3d 派对库安装”和“全局库安装”页面。

[编辑 10/05/2016]现在在angular cli wiki上对此进行了详细描述。

这对我有用:

ember-cli-build.js中,将依赖项添加到vendorNpmFiles,例如

module.exports = function (defaults) {
  var app = new Angular2App(defaults, {
      vendorNpmFiles: [
          'a2-in-memory-web-api/web-api.js'
      ]
  });
  return app.toTree();
}

(其中a2-in-memory-web-api/web-api.js是我的node_modules文件夹中的一个文件)

index.html中添加以下行:

<script src="vendor/a2-in-memory-web-api/web-api.js"></script>

最后,您重新启动服务器。

尚未使用角材料对其进行测试,但您明白了。

于 2016-03-09T19:27:00.200 回答
2

尝试SystemJSindex.html这样配置:

System.config({
    packages: {
        app: {
            format: 'register',
            defaultExtension: 'js'
        },
        'node_modules/ng2-material': {
            format: 'register',
            defaultExtension: 'js'
        }
    },
    paths: {
        'ng2-material/all': 'node_modules/ng2-material/all'
    }
});
于 2016-02-29T11:27:03.733 回答