我在index.html中引用了一些外部JS文件,如下所示:
<!-- build:js(app) /scripts/vendor.js -->
<!-- bower:js -->
<script src="/bower_components/jquery/jquery.js"></script>
<script src="/bower_components/angular/angular.js"></script>
<script src="/bower_components/jquery-ui/ui/jquery-ui.js"></script>
<!-- endbower -->
<!-- endbuild -->
每次运行grunt serve
(generator-angular-fullstack)时,都会删除初始斜杠("/bower_components/..."
→"bower_components/..."
),这会破坏我的网页&gt; 1层次结构。
有快速解决方法吗?
答案 0 :(得分:3)
来自https://github.com/stephenplusplus/grunt-bower-install/issues/43#issuecomment-33799772:
'bower-install': {
myTask: {
fileTypes: {
html: {
replace: {
js: '<script src="/{{filePath}}"></script>'
}
}
}
}
}
您可能必须取消并重新安装grunt-bower-install才能使用这种新型配置。您还应该考虑使用<base href="/">
。
答案 1 :(得分:3)
我正在使用angular-generator
yo
,这对我有用:
Gruntfile.js
(第160行)
bowerInstall: {
app: {
src: ['<%= yeoman.app %>/index.html'],
ignorePath: '<%= yeoman.app %>/',
fileTypes: {
html: {
replace: {
js: '<script src="/{{filePath}}"></script>',
css: '<link rel="stylesheet" href="/{{filePath}}" />'
}
}
}
}
}
答案 2 :(得分:2)
不确定为什么我的bower-install
配置看起来不同,但这就是我开始工作的方式:
原始设置:
'bower-install': {
app: {
html: '<%= yeoman.app %>/views/index.html',
ignorePath: '<%= yeoman.app %>/',
replace: {
js: '<script src="/{{filePath}}"></script>'
}
}
},
变化:
ignorePath: '<%= yeoman.app %>',
(删除结束斜杠)
答案 3 :(得分:1)
我遇到了同样的问题。原来我把基本标记放在样式表部分下面。一旦我把它放在上面,它就像一个魅力:
The memory is allocated in the read and write memory area in stack memory.