角CLI哪里是webpack.config.js文件 - 新angular6不支持NG弹出

问题描述 投票:121回答:6

更新:2018年12月(见“Aniket的回答)

具有角CLI 6,你需要为NG弹出不赞成使用的建设者和不久将在8.0中删除

更新:2018年6月:角6不支持NG弹出**

更新:2017年2月:使用弹出

更新:2016年11月:角CLI现在只能用的WebPack。你只需要与NPM正常安装安装-g角CLI。 “我们改变了构建系统beta.10和beta.14之间,从SystemJS到的WebPack。”,但实际上我用角CLI只是为了冷杉结构和文件夹,然后了,我手动使用的WebPack配置

我已经安装了这个角CLI:

npm install -g angular-cli@webpack

当我与angular1和网络组的工作,我用来修饰“webpack.config.js”文件来执行的所有任务和插件,但我不上这个项目,谁它的工作原理角CLI创建看到。这是魔法?

我看到当我这样做的WebPack工作:

ng serve 

"Version: webpack 2.1.0-beta.18"

但我不明白,角CLI配置的工作方式...

angular webpack angular-cli
6个回答
24
投票

具有角CLI 6,你需要为NG弹出不赞成使用的建设者和不久将在8.0中删除。这就是它说当我尝试做一个NG弹出

enter image description here

您可以使用角建设者包(https://github.com/meltedspark/angular-builders)提供自定义的WebPack配置。

我试图概括所有在我的博客上一个博客帖子 - How to customize build configuration with custom webpack config in Angular CLI 6

但本质上添加以下依赖关系 -

  "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",

再次注意,在建设者的变化为服务目标。发布这些变化,你可以在你的同一个根目录下创建一个名为定制webpack.config.js文件,并添加您的WebPack配置那里。

然而,与这里提供NG弹出的配置将与默认的配置进行合并,以便只需添加你要编辑的东西/添加。


153
投票

有喷出从角CLI webpack.config.js一个很好的方式。赶紧跑:

$ ng eject

这将在你的项目的根文件夹webpack.config.js,你可以自由地配置它,你想要的方式。这种方法的缺点是,构建/启动你的package.json脚本将与新的命令,而是来代替

$ ng serve

你将不得不做一些像

$ npm run build & npm run start

此方法应该在所有的最新版本角CLI的工作(我亲自试过了几个,最早的存在1.0.0-beta.21,以及最新的1.0.0-beta.32.3)


46
投票

根据这一issue,这是一个设计决定,不允许用户修改的WebPack配置,以降低学习曲线。

考虑到上的WebPack有用的配置数量,这是一个很大的缺陷。

我不建议使用angular-cli生产应用,因为它是非常固执己见。


11
投票

该CLI的配置的WebPack现在可以弹出。检查Anton Nikiforov's answer


过时的:

您可以在angular-cli/addon/ng2/models破解的配置模板。有修改的WebPack配置截至目前没有官方途径。

有一个关于这个github上一个封闭的“不会修复”的问题:https://github.com/angular/angular-cli/issues/1656


0
投票

我在想什么是具有的WebPack会很容易,当产能的释放。

FYI:https://github.com/Piusha/ngx-lazyloading


0
投票

由于每ng eject可以使用ngx-build-plus建议

有迹象表明,可以一起选择使用新的配置格式提供排出的好处,而不维护开销使用的几个项目。其中一个项目是NGX-集结加上这里找到:https://github.com/manfredsteyer/ngx-build-plus

© www.soinside.com 2019 - 2024. All rights reserved.