angular cli,其中是webpack.config.js文件-新angular6不支持ng弹出
更新:2018年12月(见“Aniket”答案)angular cli,其中是webpack.config.js文件-新angular6不支持ng弹出,angular,webpack,angular-cli,Angular,Webpack,Angular Cli,更新:2018年12月(见“Aniket”答案) 使用Angular CLI 6时,您需要使用生成器,因为ng eject已被弃用,并且很快将在8.0中删除 更新:2018年6月:Angular 6不支持ng弹出** 更新:2017年2月:使用ng eject 更新:2016年11月:angular cli现在仅使用网页包。您只需要使用npm安装-g cli正常安装。“我们在beta.10和beta.14之间更改了构建系统,从SystemJS到Webpack。”,但实际上我使用angular c
使用Angular CLI 6时,您需要使用生成器,因为ng eject已被弃用,并且很快将在8.0中删除 更新:2018年6月:Angular 6不支持ng弹出** 更新:2017年2月:使用ng eject 更新:2016年11月:angular cli现在仅使用网页包。您只需要使用npm安装-g cli正常安装。“我们在beta.10和beta.14之间更改了构建系统,从SystemJS到Webpack。”,但实际上我使用angular cli只是为了第一个结构和文件夹,然后再继续,我手动使用Webpack配置 我安装了angular 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配置的工作方式…现在可以弹出cli的网页配置。检查。
过时的: 您可以在
angularcli/addon/ng2/models
中破解配置模板。目前还没有官方的方法来修改网页配置
github上有一个封闭的“不会修复”问题:根据这一点,不允许用户修改网页配置以减少学习曲线是一个设计决策
考虑到网页上有用配置的数量,这是一个很大的缺点
我不建议在生产应用程序中使用
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很容易
仅供参考:对于Angular CLI 6,您需要使用生成器,因为ng eject已被弃用,并且很快将在8.0中删除。当我尝试执行ng弹出时,它就是这么说的 您可以使用angular builders包()来提供自定义的网页包配置 我试图在我的博客上的一篇博文中总结所有内容- 但实际上,您添加了以下依赖项-
"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",
再次注意serve target的生成器中的更改。发布这些更改后,您可以在同一根目录中创建一个名为custom webpack.config.js的文件,并在其中添加您的webpack config
但是,与ng eject不同,此处提供的配置将与默认配置合并,因此只需添加您想要编辑/添加的内容。它是内置的angular2 cli附加功能。没有魔法,只是简化了。谢谢@MrJSingh,但是有配置文件吗?还是只使用angular-cli.json?我不需要更多的配置插件?它位于:node_modules\@ngtoolsAngular 6.0.8目前不支持
ng eject
我喜欢OP在发布后近一年更新正确答案的方式。最后我使用了这个框架,angular cli还没有准备好与webpack一起实际工作,有很多问题。我建议您这样做:我很难过,问题已经解决,因为“无法实施”。:-(您还可以从中获得运行CLI单机版的网页包。唯一令人沮丧的是,它只弹出开发环境配置。您可以将一个参数添加到ng eject中,以使用生产配置,但这目前不起作用@BeBeBeBe我已要求确定。@bebebe请参见此处@Antonikiforov How to c。)在弹出后配置网页包?我觉得网页包配置文件看起来很复杂。我弹出它的原因是我想在我的项目中使用POSTSS,但cli现在不支持它。ng eject在较新版本中被禁用在了解架构的每个流程之前不建议进入黑盒,如果我s不受支持,或者在项目开发过程中无法自定义。尼斯。angular文档中应该提到调整网页包配置的方法。它可以帮助像我这样的新手。angular Builder设置不适用于我,ng serve
仅在5秒后退出,没有输出。我的项目使用angular cli 7和angular core 5.我必须在package.json的scripts
属性中做任何更改吗?请注意,在angular 8的angular Builder版本中,您可以更新此答案以反映这一点吗?-非常简单的说明…-适用于angular 9 Universal Ivy