3

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

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

4

3 回答 3

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']
  }
}
于 2013-11-06T12:15:47.260 回答
1

我发现了问题。我用 Angular生成器制作了 Angular.js 结构, 它不仅添加了 js 结构,还添加了包含 shell 和 bat 脚本、karma 框架等的 karma 测试环境。

使用监视文件夹中的所有这些文件构建sails 应用程序会破坏刷新功能。控制台中没有错误,正在运行的应用程序中也没有任何错误,但是不再重新加载资产中的文件。

每日提示:小心你在资产中的文件,看看生成器生成了什么!

于 2013-11-06T19:37:41.600 回答
0

经过一番搜索,我来到这里寻找livereload

实时重新加载

在 HTML 中启用实时重新加载

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

于 2014-12-02T19:09:10.493 回答