首先,对不起我的英语,很抱歉是咕噜声的新手。
现在,我的问题;-)
我的 Javascript 文件(/components 和/src/main/javascript)有 2 个目录包含在索引中.html索引位于/src/main/html 上。想象一下我在/目录上的咕噜声文件。
我想找到最简单的方法,在/target/gui/javascript 目录中对所有 javascript 文件进行唯一的.js。
但在此之前,我可以按javascript源目录拥有一个文件。但是,当我对索引.html进行以下评论时,我遇到了问题。
<!-- build:js(components/angular) javascript/components.js -->
<script src="../../../components/angular/angular.js"></script>
<!-- endbuild -->
<!-- build:js(src/main/javascript) javascript/app.js -->
<script src="../javascript/app.js"></script>
<script src="../javascript/lists/services/lists.js"></script>
<script src="../javascript/lists/controllers/listsctrl.js"></script>
<script src="../javascript/lists/controllers/listctrl.js"></script>
<!-- endbuild -->
我的问题是我的组件.js是空的。当我启动我的咕噜声构建时,我可以看到一件奇怪的事情:
Found a block:
<!-- build:js(components/angular) javascript/components.js -->
<script src="../../../components/angular/angular.js"></script>
<!-- endbuild -->
Updating config with the following assets:
- ../components/angular/angular.js
更新与../组件/角度/角度.js ?不是组件/角度/角度.js ?我不明白。我对我的CSS文件做了同样的事情,它做了我想要的:
<!-- build:css(components/bootstrap/css) css/components.css -->
<link rel="stylesheet" href="../../../components/bootstrap/css/bootstrap.css" type="text/css" />
<link rel="stylesheet" href="../../../components/bootstrap/css/bootstrap-responsive.css" type="text/css" />
<!-- endbuild -->
<!-- build:css(src/main/css) css/app.css -->
<link rel="stylesheet" href="../css/shoppinglist.css" type="text/css" />
<!-- endbuild -->
我可以看到
Found a block:
<!-- build:css(components/bootstrap/css) css/components.css -->
<link rel="stylesheet" href="../../../components/bootstrap/css/bootstrap.css" type="text/css" />
<link rel="stylesheet" href="../../../components/bootstrap/css/bootstrap-responsive.css" type="text/css" />
<!-- endbuild -->
Updating config with the following assets:
- components/bootstrap/css/bootstrap.css
- components/bootstrap/css/bootstrap-responsive.css
所以,对于CSS,咕噜咕噜地理解我想要的路径?
我的咕噜咕噜文件有什么?
(...)
dest: {
buildRoot : 'target',
guiRoot : 'target/gui',
html: {
index: 'target/gui/index.html',
partials: 'target/gui/partials'
},
res: 'target/gui/assets'
},
useminPrepare: {
html: '<%= dest.html.index %>'
},
usemin: {
html: ['<%= dest.html.index %>'],
options: {
dirs: ['<%= dest.guiRoot %>']
}
}
(...)
我使用咕噜声构建:
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-usemin');
grunt.registerTask('build', ['clean', 'copy:html', 'copy:res', 'copy:server', 'copy:heroku', 'useminPrepare', 'concat', 'uglify', 'cssmin', 'usemin']);
有人可以帮助我吗?
此致敬意
马努
Usemin的"备用搜索路径"用作源目录,以搜索索引中引用的路径.html。
在您的配置中,您必须取消路径中的三个..
才能找到component
目录(位于根目录)。
此配置将解决问题:
<!-- build:js(aFakeDir/anotherFakeDir/yetAnotherFakeDir) javascript/components.js -->
<script src="../../../components/angular/angular.js"></script>
<!-- endbuild -->
请注意,您不必指定实际目录名称。