[英]Angular CLI 1.6.6 eject create webpack.config.js with full scripts path
[英]angular-cli where is webpack.config.js file - new angular6 does not support ng eject
更新:2018年12月(参见'Aniket'回答)
使用Angular CLI 6,您需要使用构建器,因为不推荐使用ng eject,并且很快将在8.0中删除
更新:2018年6月:Angular 6不支持ng弹出**
更新: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配置的工作方式......
有一种从angular-cli中弹出webpack.config.js的好方法。 赶紧跑:
$ ng eject
这将在项目的根文件夹中生成webpack.config.js,您可以根据需要自由配置它。 这样做的缺点是package.json中的build / start脚本将被替换为新命令而不是
$ ng serve
你必须要做类似的事情
$ npm run build & npm run start
这个方法应该适用于所有最新版本的angular-cli(我个人试过几个,最老的是1.0.0-beta.21 ,最新的1.0.0-beta.32.3 )
根据这个问题 ,设计决定是不允许用户修改Webpack配置以减少学习曲线。
考虑到Webpack上有用的配置数量,这是一个很大的缺点。
我不建议将angular-cli
用于生产应用程序,因为它是高度自以为是。
使用Angular CLI 6,您需要使用构建器,因为不推荐使用ng eject,并且很快将在8.0中删除。 当我尝试进行弹出时,它就是这么说的
您可以使用angular-builders包( https://github.com/meltedspark/angular-builders )来提供自定义webpack配置。
我试图在我的博客上的一篇博客文章中总结所有内容 - 如何使用Angular CLI 6中的自定义webpack配置自定义构建配置
但基本上你添加以下依赖项 -
"devDependencies": {
"@angular-builders/custom-webpack": "^7.0.0",
"@angular-builders/dev-server": "^7.0.0",
"@angular-devkit/build-angular": "~0.11.0",
在angular.json中进行以下更改 -
"architect": {
"build": {
"builder": "@angular-builders/custom-webpack:browser",
"options": {
"customWebpackConfig": {"path": "./custom-webpack.config.js"},
请注意构建器和新选项customWebpackConfig中的更改。 也改变
"serve": {
"builder": "@angular-builders/dev-server:generic",
请注意对于服务目标的构建器的更改。 发布这些更改后,您可以在同一根目录中创建名为custom-webpack.config.js的文件,并在其中添加您的webpack配置。
但是,与此处提供的ng弹出配置不同,它将与默认配置合并,因此只需添加要编辑/添加的内容。
现在可以弹出CLI的webpack配置。 检查Anton Nikiforov的回答 。
您可以在angular-cli/addon/ng2/models
破解配置模板。 截至目前,还没有正式的方法来修改webpack配置。
关于这个问题,github上有一个封闭的“不会修复”问题: https : //github.com/angular/angular-cli/issues/1656
我想的是在生产发布时让webpack很容易。
根据ng eject
的建议,您可以使用ngx-build-plus
有几个项目可以与新的配置格式结合使用,提供弹出的好处,而无需维护开销。 其中一个项目是ngx-build-plus,请点击此处: https : //github.com/manfredsteyer/ngx-build-plus
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.