我们正在考虑将我们的项目移植到 Sails.js。我们的静态资产非常大 - 超过 3 GB。因此,这造成了严重的限制,因为它使我们的应用程序的大小增加了一倍。我们可以修改 Sails js 以防止这种默认行为吗?或者有人可以推荐其他框架吗?
Sails 使用 Grunt 将您的资产复制到(默认情况下)干净的.tmp/公共每次提起应用程序时都会文件夹。这使您可以选择应公开哪些资产,还可以让您在不同环境中编译和缩小资产。这并不一定会使您的应用程序的大小增加一倍,除非您将.tmp在版本控制下,但如果您有大量资产,它肯定会使您的应用程序启动缓慢。
这里最简单的解决方案是关闭 Grunt 并直接从assets文件夹。要做到这一点:
- 删除Gruntfile.js(或将其重命名为Gruntfile.js.bak)
-
创建一个名为的新配置文件配置/assets.js(或者任何你喜欢的内容;名称并不重要),然后将以下内容放入其中:
module.exports = {
paths: {
public: __dirname+"/../assets"
}
};
将其放入新配置文件而不是的原因配置/本地.js就是它local.js在你的.gitignore默认情况下会创建一个文件,因此如果您使用 Git 进行版本控制,则每次在新计算机上安装应用程序时都必须重新创建该文件。
正如我所说,这是最简单的解决方案,但它有一些缺点:
- 在生产模式下不再自动编译/缩小资产
- 不再使用自动链接 Javascript/CSS 文件资产管道 http://sailsjs.org/#/documentation/concepts/Assets/TaskAutomation.html?q=asset-pipeline
如果您想保留这些功能,但仍避免将大量文件复制到.tmp,那么答案就在于修改默认的 Grunt 任务(这就是它们在您的项目中的用途!)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)