Sails.js应用程序启动后不刷新资产中的文件

时间:2013-11-03 15:09:44

标签: node.js angularjs sails.js

我有一个带有Angular.JS前端的Sails.JS应用程序。 角度文件存储在/ assets / linker中,并在启动时正确注入。我的问题是,当我从资产更改css或js文件时,更改不会出现在服务器上,加载的js文件与服务器启动时相同。我试图清除我的浏览器缓存并尝试在另一个浏览器中,但仍然是相同的。 我还尝试使用forever -wnodemon运行应用程序,但仍然没有。应用程序处于开发模式,无论如何从sails lift --dev开始都不能解决问题。

我觉得我错过了配置中的一些东西。有没有办法强制重新加载资产?

3 个答案:

答案 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

Live Reloading

Enabling Live Reload in Your HTML

在当前版本的Sails v0.10中有一个用于监视任务的文件:tasks / config / watch.js