UPDATE: June 2018: Angular 6 does not support ng eject
更新:2017年2月:使用ng弹出
更新:2016年11月:angular-cli现在只使用webpack . 您只需要使用npm install -g angular-cli正常安装 . “我们改变了beta.10和beta.14之间的构建系统,从SystemJS到Webpack . ”但实际上我只使用angular-cli来结构和文件夹,然后再使用webpack配置
我用这个安装了角度cli:
npm install -g angular-cli@webpack
当我使用angular1和web pack时,我曾经修改过“webpack.config.js”文件来执行所有的任务和插件,但我没有看到使用angular-cli创建的这个项目是谁工作的 . 这是魔法?
当我这样做时,我看到Webpack正在工作:
ng serve
"Version: webpack 2.1.0-beta.18"
但我不明白angular-cli配置的工作方式......
4 回答
有一种很好的方法可以从angular-cli中弹出 webpack.config.js . 赶紧跑:
这将在项目的根文件夹中生成webpack.config.js,您可以根据需要自由配置它 . 这样做的缺点是package.json中的build / start脚本将被替换为新命令而不是
你必须要做类似的事情
这个方法应该适用于所有最新版本的angular-cli(我个人试过几个,最老的是1.0.0-beta.21,最新的1.0.0-beta.32.3)
根据这个issue,设计决定是不允许用户修改Webpack配置以减少学习曲线 .
考虑到Webpack上有用的配置数量,这是一个很大的缺点 .
我不建议将
angular-cli
用于 生产环境 应用程序,因为它是高度自以为是 .The CLI's webpack config can now be ejected. Check Anton Nikiforov's answer.
已过时:
您可以在
angular-cli/addon/ng2/models
中破解配置模板 . 截至目前,还没有正式的方法来修改webpack配置 .关于这个问题,github上有一个已关闭的"wont-fix"问题:https://github.com/angular/angular-cli/issues/1656
我想的是在 生产环境 发布时让webpack很容易 .
仅供参考:https://github.com/Piusha/ngx-lazyloading