在我的凤凰项目中,我发现sass-brunch
的特殊行为。
以下是我的问题的简短描述:
app.css
目录上生成正确的priv/static/css
。app.css
,但只缺少修改过的SCSS文件中的行。它保留了未修改文件的行。在日志文件中,我注意到可能与此问题相关的条目:
[debug] Duplicate channel join for topic "phoenix:live_reload" in Phoenix.LiveReloader.Socket. Closing existing channel for new join.
我的Mac上没有看到这样的一行。
我的环境:
我的package.json
:
{
"repository": {},
"license": "MIT",
"scripts": {
"deploy": "brunch build --production",
"watch": "brunch watch --stdin"
},
"dependencies": {
"phoenix": "file:deps/phoenix",
"phoenix_html": "file:deps/phoenix_html"
},
"devDependencies": {
"babel-brunch": "6.0.6",
"brunch": "2.10.7",
"clean-css-brunch": "2.10.0",
"sass-brunch": "^2.10.4",
"uglify-js-brunch": "2.1.1"
}
}
[UPDATE]
我发现了一个有趣的事实。
app.css
会正常生成。答案 0 :(得分:0)
我找到了解决问题的方法。
将这些行添加到brunch-config.js
:
watcher: {
usePolling: true
}
正如早午餐的documentation所说,观察者变得更慢,但通过将true
设置为此选项可以更加可靠。
usePolling
选项传递给chokidar,其文档说明:
usePolling
(默认:false
)。是否使用fs.watchFile(由轮询支持)或fs.watch。如果轮询导致CPU利用率过高,请考虑将其设置为false
。通常需要将其设置为true
以成功通过网络观看文件,并且可能需要在其他非标准情况下成功观看文件。