Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Angular cli在Angular项目中添加矩.js时区-网页包_Angular_Webpack_Angular Cli_Momentjs - Fatal编程技术网

使用Angular cli在Angular项目中添加矩.js时区-网页包

使用Angular cli在Angular项目中添加矩.js时区-网页包,angular,webpack,angular-cli,momentjs,Angular,Webpack,Angular Cli,Momentjs,我需要使用Angular cli/webpack在Angular项目中添加moment.js和时区构建 我导入了ts文件的时刻时区 import * as moment from 'moment-timezone'; 我用我需要的脚本配置了angular.json文件 { "projects": { .. "styles": [], "scripts": [ "node_modules/moment/moment.

我需要使用Angular cli/webpack在Angular项目中添加moment.js和时区构建

我导入了ts文件的时刻时区

import * as moment from 'moment-timezone';
我用我需要的脚本配置了
angular.json
文件

{
  "projects": {
            ..
        "styles": [],
        "scripts": [
          "node_modules/moment/moment.js",
          "node_modules/moment/locale/es.js",
          "node_modules/moment-timezone/moment-timezone.js",
          "node_modules/moment-timezone/builds/moment-timezone-with-data-2012-2022.js"
            ]
...
}
这是部分工作,但我有两个问题:

  • 它没有添加
    moment-timezone-with-data-2012-2022.js
  • 当我检查添加到
    vendor.js
    中的文件时,我发现所有的时刻和时刻时区文件夹都包括在内

我不希望将完整文件夹添加到vendor.js。我能做什么?

要在Angular中使用moment.js,请先安装moment.js:

npm i moment --save
然后在需要的地方导入moment.js:

import * as moment from 'moment';
现在,您可以像在其他JavaScript项目中一样使用矩:

moment().format();
我也有同样的问题

import*作为“时刻时区”中的时刻

添加了从
时刻时区
时刻
到捆绑包的所有内容,这意味着每个地区和每个时区。 我所做的只是导入我需要的东西:

import moment from 'moment-timezone/moment-timezone';
import 'moment/locale/sk';
import { MomentInput } from 'moment';
我还为我的DateUtils添加了静态初始值设定项,并从时区构建中复制了我的时区的时区数据,因为我只需要一个时区:

static initialize(): void {
  moment.locale('sk');
  moment.tz.add([
    'Europe/Prague|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 16M0 1lc0 1tA0 17A0 11c0 1io0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5'
  ]);
  moment.tz.link('Europe/Prague|Europe/Bratislava');
  moment.tz.setDefault('Europe/Bratislava');
}

仅在整个应用程序中,DateUtils
现在导入
moment
内容,因此任何人都不应该错误地导入整个包。

什么意思是“我不想将完整文件夹添加到vendor.js”?不幸的是,这并不能解决OP的问题。问题是“时刻时区”而不是“时刻”