2013-11-03 14 views
3

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

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

回答

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'] 
    } 
} 
+2

您的回答帮助我了解问题的根源以及文件重新加载的方式。 +50会送给你。 – Georgi

1

我发现这个问题。我做了一个带有angular generator 的Angular.js结构,它不仅增加了js结构,还增加了包含shell和bat脚本的业力测试环境,karma框架等等。

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

每日提示:小心使用资产中的文件并查看生成器生成的内容!

+0

我完全同意,我们用Yeoman Sails发电机开始了一个项目。它最终成为一个非常糟糕的主意:_:sails版本已过时,并且没有简单的方法来更新,因为如果尝试的话,它生成的文件可能会中断。从一个简单的'航行新的'开始帮助获得一个干净的起点。我很高兴我的答案帮助你,即使它没有死。 –

+0

我在使用Bower管理我的依赖关系时遇到了同样的问题。看起来这可能是Sails在资产目录中管理大量文件时遇到的问题。但很难说,但没有收到错误信息。 –

+0

那么,你会如何安全地从资产文件夹中获取文件以减少文件的数量? – svassr

相关问题