我正在使用grunt,我在配置中添加了一个参数:
grunt.initConfig({
// configurable paths
yeoman: {
app: 'app',
dist: 'dist',
assetsRoot: [
'../',
'../a/b/c/',
'../d/d/s/'
},
.
.
.
后来我用了那些变量。例如:
clean: {
dist: {
files: [{
dot: true,
src: [
'.tmp',
'<%= yeoman.dist %>/*', // --> dist/*
'!<%= yeoman.dist %>/.git*' // --> !dist/*
]
}]
},
server: '.tmp'
},
但后来我想使用assetsRoot参数,它是一个数组而不是字符串。但如果我这样做:
connect: {
server: {
options: {
open: true,
base: [
'./',
'.tmp'
].concat('<%= yeoman.assetsRoot %>')
}
},
}
但是这会将一个字符串连接到数组而不是组合数组! 我明白了:
connect.server.options.base = ['./', '.tmp', '[ "../", "../a/b/c/", "../d/d/s/"]']
而不是:
connect.server.options.base = ['./', '.tmp', '../', '../a/b/c/', '../d/d/s/']
知道如何解决这个问题吗?
答案 0 :(得分:0)
您正在输出用单引号包装的assetRoot
数组,所以是的,它是一个字符串。编译后的输出如下所示:
[1, 2].concat('[3, 4]')
将'<%= yeoman.assetsRoot %>'
替换为<%= yeoman.assetsRoot %>
,以便生成数组。