如果不使用grunt的"concat“和"bower_concat",则使用角-i18n的方式如下:
<html ng-app>
<head>
...
<script src="angular.js"></script>
<script src="i18n/angular-locale_de-de.js"></script>
...
</head>
</html>(根据这里:https://docs.angularjs.org/guide/i18n)
但是..。当然:我使用的是concat和bower_concat。
我是这样用它们的:
build/bower-concat.js注释: bower_concat读取生活在bower_components中的每个子目录的每个bower.json,并连接所有主文件。
注2:“角-18n”的bower.json有"ignore": ["**/.*", ...
build/inouse-concat.js中。bower-concat.js和inhouse-concat.js连接到all-concat.js中<script src="build/all-concat.js"></script>因此,我认为我可以在第三步中包括相应的区域设置"angular-i18n/angular-locale_de-de.js",如下所示:
// inhouse js with bower's js with angular's i18n into one file
allJsConcat: {
src: ['build/bower-concat.js', 'bower_components/angular-i18n/angular-locale_de-de.js', 'build/inhouse-concat.js',],
dest: 'build/all-concat.js',
}但这不管用。我得到了:
Uncaught ReferenceError: require is not defined
问题:,您将如何推荐使用grunt、concat和bower_concat来使用角的locale js?我做错什么了?
发布于 2015-03-04 18:11:02
妈的,我不想回答我自己的问题,因为我急着问.
不管怎么说,这起作用了:
Gruntfile.js
bower_concat: {
all: {
dest: 'build/bower-concat.js',
cssDest: 'build/bower-concat.css',
exclude: [
'angular-i18n'
],
bowerOptions: {
relative: false
}
}
},
concat: {
...
allJsConcat: {
src: ['build/bower-concat.js', 'bower_components/angular-i18n/angular-locale_de-de.js', 'build/inhouse-concat.js',],
dest: 'build/all-concat.js',
}
}诀窍是使用exclude参数的grunt-bower-concat。
还有一个mainFiles参数,我认为它也能做到这一点:
mainFiles 一些Bower组件没有列出它们的主文件,或者(更有可能)根本没有bower.json文件。在这种情况下,保龄球将尝试猜测主文件,但有时它不能或选择错误的一个。您可以显式定义该组件的主文件。
所以我认为使用这个方法也是可行的:
mainFiles: {
'angular-i18n': 'angular-locale_de-de.js',
}而不做“三个文件连接”(因此它更优雅)
https://stackoverflow.com/questions/28861211
复制相似问题