我如何加载特定时刻语言环境browserify
都内置在Visual Studio 2017年我使用NPM,一饮而尽,并browserify帮我管理依赖性,捆绑,以及微小的角度应用。一切都很顺利,直到我试图在瞬间,瞬间 - 时区和角度 - 时刻,当我开始难以让这些图书馆发挥出色时。我如何加载特定时刻语言环境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文件夹,但实际上它并不包括在我的应用程序什么。因此,有类似以下一饮而尽任务:
var dependencies = Object.keys(packageJson && packageJson.dependencies || {});
browserify({cache: {}, packageCache: {} }})
.require(dependencies)
.bundle()
.pipe(source(js/siteLibs.js))
.pipe(buffer())
.pipe(gulp.dest("."));
好了,如果一饮而尽任务正常工作,我将有一个名为siteLibs.js文件,其中包含所有的JS从我的NPM相关性,然后我可以制作一个脚本标记来引用siteLibs.js。
接下来的部分,我就有点朦胧,但我还是得有一个实际的需要(“...”)在我的应用程序的那一刻声明,角的时刻,那一刻,时区?如果需要,为什么?它在做什么?
现在,一旦在这一点上,我应该能够继续前进,让我的角度应用采取的时刻,那一刻,时区,或角时刻的依赖,事实上我可以。问题在于,当我打电话给moment.locales()时,应该返回所有已加载语言环境的列表,但它只是'en-US'。好吧,这是预料之中的,因为我从未加载过任何语言环境。所以如果我在我的应用程序中说:
require('moment/locales/en-gb');
require('moment/locales/en-au');
require('moment/locales/fr-ca');
它没有区别。唯一加载的语言环境是en-US。考虑到我正在使用npm,gulp和browserify,正确加载这些额外语言区域的正确方法是什么?
呀的,要么我完全不明白的解决方法,或者我不这样做是正确的。我已经添加了require语句(在app.js中),但实际上并没有让它们加载。 moment.locales()仍然只返回'en-US'。它能够获得我的网站的js中包含的特定于语言环境的javascript文件,但显然它们并没有实际加载,只要知道即可。我想知道它是否与来自moment-timezon或angular-moment或某物的时刻对象发生冲突? – ctb
绝对看起来像是一个角度时刻的事物,我对图书馆并不熟悉。这里只是撇了文档:https://github.com/urish/angular-moment - 我想,这是你的问题在未来 检查你的angular.module.config文件,我想你可能想使确保与您要查找的内容(:https://github.com/urish/angular-moment/issues/259张贴在这里的语言环境相关的问题)对齐。 –