【问题标题】:How to load specific moment locales with browserify如何使用 browserify 加载特定时刻的语言环境
【发布时间】:2017-08-08 20:16:56
【问题描述】:

我在 Visual Studio 2017 中构建了一个 Angular 应用程序。我正在使用 npm、gulp 和 browserify 来帮助我管理依赖项、捆绑和缩小。一切都进行得很顺利,直到我尝试引入时刻、时刻-时区和角时刻,当我开始无法让这些库正常运行时。

我假设问题与这些库包含在我的应用程序中的方式有​​关,因为我使用 npm、gulp、browserify 或 require('... ') 陈述。所以,解释一下我是如何做到的似乎对我有帮助。

首先,在 VS 中,我在项目中添加了一个节点配置文件 (package.json),其中包含将通过 npm 安装的所有依赖项的列表。因此,例如,我的 package.json 看起来像这样:

{
"property": value,
"otherProperty": otherValue,
"dependencies": {
    "angular": "1.5.8",
    "angular-ui-router": "1.0.3",
    "jquery": "3.1.0",
    "moment": "2.18.1",     
    "moment-timezone": "0.5.13",
    "angular-moment": "1.0.1"
    }
}

现在,这使得 npm 继续下载所有内容并将其粘贴到我的 node_modules 文件夹中,但它实际上并没有在我的应用程序中包含任何内容。于是就有了类似下面的 gulp 任务:

var dependencies = Object.keys(packageJson && packageJson.dependencies || {});
browserify({cache: {}, packageCache: {} }})
    .require(dependencies)
    .bundle()
    .pipe(source(js/siteLibs.js))
    .pipe(buffer())
    .pipe(gulp.dest("."));

好的,如果 gulp 任务正常工作,我将有一个名为 siteLibs.js 的文件,其中包含我的 npm 依赖项中的所有 js,然后我可以只创建一个脚本标记来引用 siteLibs.js。

下一部分,我有点模糊,但我的应用程序中是否仍然需要有一个实际的 require('...') 语句,用于矩、角矩和矩时区?如果需要,为什么?它在做什么?

现在,一旦到了这一点,我应该能够继续让我的 Angular 应用程序依赖于矩、矩时区或角矩,而且,我确实可以。问题是当我调用moment.locales() 时,它应该返回所有已加载语言环境的列表,它只有“en-US”。好的,这是意料之中的,因为我从未加载任何语言环境。因此,如果我进入我的应用并说:

require('moment/locales/en-gb');
require('moment/locales/en-au');
require('moment/locales/fr-ca');

没有区别。唯一加载的语言环境是 en-US。鉴于我正在使用 npm、gulp 和 browserify,加载这些额外语言环境的正确方法是什么?

【问题讨论】:

    标签: momentjs browserify angular-moment


    【解决方案1】:

    【讨论】:

    • 是的,要么我不完全了解解决方法,要么我做得不对。我已经添加了 require 语句(在 app.js 中),但这实际上并没有加载它们。 moment.locales() 仍然只返回“en-US”。它确实获得了包含在我网站的 js 中的特定于语言环境的 javascript 文件,但据目前所知,显然它们实际上并未加载。我想知道它是否与 moment-timezonne 或 angular-moment 中的 moment 对象发生冲突?
    • 绝对看起来像一个角矩的东西,我对图书馆不熟悉。在这里浏览他们的文档:github.com/urish/angular-moment - 我认为这是您的问题所在。查看您的 angular.module.config 文件,我认为您可能想确保它与您正在寻找的内容一致(语言环境-相关问题张贴在这里:github.com/urish/angular-moment/issues/259)。
    猜你喜欢
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    相关资源
    最近更新 更多