首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确使用格朗特的"bower_concat“和”角-i18n“

正确使用格朗特的"bower_concat“和”角-i18n“
EN

Stack Overflow用户
提问于 2015-03-04 17:41:23
回答 1查看 3.3K关注 0票数 4

如果不使用grunt的"concat“和"bower_concat",则使用角-i18n的方式如下:

代码语言:javascript
复制
 <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)

但是..。当然:我使用的是concatbower_concat

我是这样用它们的:

  1. 首先,我使用bower_concat并创建build/bower-concat.js

注释: bower_concat读取生活在bower_components中的每个子目录的每个bower.json,并连接所有主文件。

注2:“角-18n”的bower.json有"ignore": ["**/.*", ...

  1. 然后,我将所有js(我的控制器等)连接到build/inouse-concat.js中。
  2. 最后,我将bower-concat.jsinhouse-concat.js连接到all-concat.js
  3. <script src="build/all-concat.js"></script>

因此,我认为我可以在第三步中包括相应的区域设置"angular-i18n/angular-locale_de-de.js",如下所示:

代码语言:javascript
复制
  // 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?我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-04 18:11:02

妈的,我不想回答我自己的问题,因为我急着问.

不管怎么说,这起作用了:

Gruntfile.js

代码语言:javascript
复制
    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文件。在这种情况下,保龄球将尝试猜测主文件,但有时它不能或选择错误的一个。您可以显式定义该组件的主文件。

所以我认为使用这个方法也是可行的:

代码语言:javascript
复制
 mainFiles: {
     'angular-i18n': 'angular-locale_de-de.js',
 }

而不做“三个文件连接”(因此它更优雅)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28861211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档