如何从角度构建中排除时刻区域设置?

时间:2018-04-16 07:00:41

标签: angular angular2-moment

在我的angular 5应用程序中,当我使用

创建构建时
ng build --prod --sm

和开源地图资源管理器,时刻需要在main.js文件中占用大量空间。我发现当我使用

时,所有语言环境都被加载了
import * as moment from 'moment';

我已经将材质矩适配器用于应用程序中的某些功能,这些功能也需要时刻包。

我使用angular-cli创建了应用程序。我发现许多链接使用webpack.config.js中的设置排除了语言环境 有没有办法使用angular-cli排除语言环境?

2 个答案:

答案 0 :(得分:0)

本文介绍了很好的解决方案: https://medium.jonasbandi.net/angular-cli-and-moment-js-a-recipe-for-disaster-and-how-to-fix-it-163a79180173

简而言之:

  1. ng add ngx-build-plus
  2. 在项目的根目录中添加文件webpack.extra.js:

    const webpack = require('webpack');
    module.exports = {
        plugins: [
            new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
        ]
    }
    
  3. 运行:

    npm run build --prod --extra-webpack-config webpack.extra.js
    

答案 1 :(得分:0)

这个 Angular 问题还有另一个解决方案: https://github.com/angular/angular-cli/issues/6137#issuecomment-387708972

添加一个名为“moment”的自定义路径,以便默认解析为您想要的 JS 文件:

"compilerOptions": {
    "paths": {
      "moment": [
        "./node_modules/moment/min/moment.min.js"
      ]
    }
}