首页 文章

如何使用browserify加载特定时刻区域设置

提问于
浏览
1

我在Visual Studio 2017中构建了一个角度应用程序 . 我使用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('...')语句,有时刻,角度时刻和时刻时区?如果需要,为什么?它在做什么?

现在,在这一点上,我应该能够继续让我的角度应用程序依赖于时刻,时刻 - 时区或角度时刻,而且,我确实可以 . 问题在于,当我调用moment.locales()时,它应该返回所有已加载语言环境的列表,但它没有“en-US” . 好的,这是预期的,因为我从未加载任何语言环境 . 所以如果我进入我的应用并说:

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

没什么区别 . 唯一加载的区域设置是en-US . 在我使用npm,gulp和browserify的情况下,获取这些额外语言环境的正确方法是什么?

1 回答

相关问题