angular - 如何从 Angular 构建中排除瞬间语言环境?

标签 angular angular2-moment

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

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

和开源 map 浏览器一样,moment占用了main.js文件中的大量空间。我发现在我使用时会加载所有语言环境

import * as moment from 'moment';

我已将 Material 力矩适配器用于应用程序中也需要力矩包的某些功能。

我已经使用 angular-cli 创建了应用程序。我发现许多链接使用 webpack.config.js 中的设置排除语言环境 有什么方法可以使用 angular-cli 排除语言环境吗?

最佳答案

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

简要说明:

  1. ng 添加 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
    

    在此输入验证码

警告 moment.js 已被正式弃用 https://momentjs.com/docs/#/-project-status/ (尝试使用 day.js 或 luxon)

关于angular - 如何从 Angular 构建中排除瞬间语言环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49851277/

相关文章:

Angular2 - 在测试时使用下划线(或任何外部库)

订阅回调中的 javascript 错误

javascript - 使用 Angular json + 基于环境在 head 标签中加载第三方 js

angular - 如何在 Angular2 中为日期添加天数?

html - 省略号(三个点)展开和折叠文本

Angular 2 (RC 1) : Data view not refreshing when data loaded from a file

javascript - 如何在 Angular 中用当前时间减去 firebase 时间戳并检查它是否超过 5 分钟

javascript - 如何使用 angular2-moment 显示 1 分钟前的时间

javascript - 一天的 Moment js 间隔(12 小时格式)