我正在尝试使用phoenix-elixir
和brunch
设置基本应用,但收到以下错误:
23 Mar 10:18:10 - 警告:node_modules / phoenix / priv / static / phoenix.js已编译,但未写入。检查你的javascripts.joinTo配置
3月23日10:18:10 - 警告:node_modules / phoenix_html / priv / static / phoenix_html.js已编译,但未写入。检查你的javascripts.joinTo config
这就是我在branch-config.js
中所拥有的:
files: {
javascripts: {
joinTo: {
"js/app.js": /^(web\/static\/js)/,
"js/script.js": /^(web\/static\/js)/
}
}
// ...
}
这是我的文件夹结构:
web/
static/
js/
app.js
script.js
我确实看到script.js
被包含在内(我看到它被编译成priv/static/js
并且还作为开发工具中的源代码)但是其中的函数没有表现出我期望他们做的行为。如果我将script.js
的内容添加到app.js
。
有趣的是css
如果我这样做就可以了......
stylesheets: {
joinTo: "css/app.css",
joinTo: "css/style.css"
},
如果我将js
格式化为css
,则没有错误,但同样,其中的函数也不会启动...
javascripts: {
joinTo: "js/app.js",
joinTo: "js/script.js"
}
我是否需要将script.js
添加到vendor
文件夹中? app.js
是唯一可以在js
内使用的web/js
脚本吗?我觉得我可能在某个地方错过了一个场景。
修改:
$ mix phoenix.new -v
凤凰城v1.1.4$ brunch -v
2.1.3
答案 0 :(得分:3)
如果您希望将js文件合并到一个app.js
文件中,只需将配置保留为默认值
files: {
javascripts: {
joinTo: {
"js/app.js": /^(web\/static\/js)/
}
}
// ...
}
这意味着web/static/js
中的所有文件都将连接到app.js
。发生了什么事基本上是你告诉早午餐将所有javascripts加入到两个不同的文件中,这会混淆它。