我们正在考虑将项目移植到Sails.js。我们的静态资产非常庞大 - 超过3 GB。因此,这造成了严重的限制,因为它使我们的应用程序的大小翻倍。我们可以修改Sails js以防止这种默认行为,还是可以推荐一些其他框架?
答案 0 :(得分:8)
每次解除应用时,Sails都会使用Grunt将资源复制到(默认情况下)干净的 .tmp / public 文件夹中。这允许您选择应公开哪些资产,还允许您在不同环境中编译和缩小资产。除非您将 .tmp 置于版本控制之下,否则这不一定会使应用的大小翻倍,但如果您拥有大量资源,那么肯定会让您的应用启动缓慢。
此处最简单的解决方案是关闭Grunt并直接从资产文件夹中提供静态资源。要做到这一点:
创建一个名为 config / assets.js 的新配置文件(或者您喜欢的任何名称;名称无关紧要),并将以下内容放入:
module.exports = {
paths: {
public: __dirname+"/../assets"
}
};
将其放入新配置文件而不是 config / local.js 的原因是 local.js 位于 .gitignore 默认情况下是文件,因此如果您使用Git进行版本控制,则每次在新计算机上安装应用程序时都必须重新创建该文件。
就像我说的,这是最简单的解决方案,但它有一些缺点:
如果你想保留这些功能,但仍然避免将大量文件复制到 .tmp ,那么答案就在于修改默认的Grunt任务(这就是他们在你的项目中的用途! )。
答案 1 :(得分:0)
在Sails.js 0.11中,您可以将下一个代码添加到.sailsrc文件中:
"hooks": { "grunt": false }