我有一个带有Angular.JS前端的Sails.JS应用程序。
角度文件存储在/ assets / linker中,并在启动时正确注入。我的问题是,当我从资产更改css或js文件时,更改不会出现在服务器上,加载的js文件与服务器启动时相同。我试图清除我的浏览器缓存并尝试在另一个浏览器中,但仍然是相同的。
我还尝试使用forever -w
和nodemon
运行应用程序,但仍然没有。应用程序处于开发模式,无论如何从sails lift --dev
开始都不能解决问题。
我觉得我错过了配置中的一些东西。有没有办法强制重新加载资产?
答案 0 :(得分:9)
您需要检查Gruntfile配置。这是魔法在链接器和livereload方面发生的地方。
具体来说,您需要查看watch
任务和相关的tasks
。
默认情况下,它看起来像这样:
watch: {
api: {
// API files to watch:
files: ['api/**/*']
},
assets: {
// Assets to watch:
files: ['assets/**/*'],
// When assets are changed:
tasks: ['compileAssets', 'linkAssets']
}
}
答案 1 :(得分:1)
我发现了问题。我使用angular generator创建了Angular.js结构 它不仅增加了js结构,还增加了包含shell和bat脚本,karma框架等的karma测试环境。
使用监视文件夹中的所有这些文件构建sails应用程序会破坏刷新功能。控制台中没有错误,正在运行的应用程序中没有任何错误,但资产中的文件不再重新加载。
当天的提示:小心资产中的文件,看看生成器生成的内容!
答案 2 :(得分:0)
经过一番搜索,我来到这里寻找livereload
Enabling Live Reload in Your HTML
在当前版本的Sails v0.10中有一个用于监视任务的文件:tasks / config / watch.js