码迷,mamicode.com
首页 > 其他好文 > 详细

@angular/cli 工程 项目 配置

时间:2019-02-27 12:56:01      阅读:328      评论:0      收藏:0      [点我收藏+]

标签:exports   需要   ati   plugin   重写   print   row   rod   目的   

如果你创建工程项目用angular-cli 你的样式文件想使用scss, 并且让ng serve自动编译它们

你可以在创建项目的时候用 ng new sassy-project --style=sass

或者通过ng set defaults.styleExt scss 来修改你现有的项目

然后修改.angular-cli.json的

"styles": [
    "styles.css" // "styles.scss"
]

和component里面使用到的scss

 

创建带路由的项目

ng generate module app-routing --flat --module=app

--flat 把这个文件放进了 src/app 中,而不是单独的目录中。
--module=app 告诉 CLI 把它注册到 AppModuleimports 数组中


Angular6+ webpack自定义扩展

背景

在项目开发过程中,发现生产模式下console.log()日志文件依然存在,通过百度得出的结果是在生产模式下console.xx一系列方法全部重写

window.console.log = ()=>{}

这种方法表示一看就不舒服,无法接受。所以想着想着@angular/cli
底层是webpack,而且代码压缩用的是UglifyJs,所以想着能不能扩展一配置项,让我把console全部给我过滤掉,最后去Issues上找了许久,发现angular6+不支持eject,最后有人推荐了一个工具库ngx-build-plus,不需要改很多东西就能在现有项目进行集成。接下来教大家如何使用,具体详情可以去github上找文档。

如何使用

1.运行 ng add ngx-build-plus,在angular7版本会自动一键配置好,但是6版本中可能会出现安装不成功,这时候请直接npm install ngx-build-plus --save-dev,然后angular.json文件中更改以下两处地方:

"build": {
      - "builder": "@angular-devkit/build-angular:browser"
      + "builder": "ngx-build-plus:build"
      ...
},
"serve": {
      - "builder": "@angular-devkit/build-angular:dev-server"
      + "builder": "ngx-build-plus:dev-server"
      ...
}

2.接下来根目录下新建webpack.extra.js文件

const UglifyJsPlugin = require(‘uglifyjs-webpack-plugin‘);
module.exports = {
    optimization: {
        minimizer: [new UglifyJsPlugin({
            uglifyOptions: {
                compress: {
                    drop_console: true
                }
            }
        })]
    }
};
记得```npm install uglifyjs-webpack-plugin --save-dev```

3.进行生产环境编译

ng build --extraWebpackConfig webpack.extra.js --prod

@angular/cli 工程 项目 配置

标签:exports   需要   ati   plugin   重写   print   row   rod   目的   

原文地址:https://www.cnblogs.com/zhenguo-chen/p/10442981.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!