sails js-创建资产的副本
我们正在考虑将项目移植到Sails.js。我们的静电资产相当大-超过3 GB。因此,这造成了一个严重的限制,因为它使我们的应用程序大小翻了一番。我们是否可以修改Sails js以防止此默认行为,或者是否有人可以推荐其他框架?
解决方案
每次解除应用程序时,Sails都会使用Grunt将您的资产复制到(默认情况下)干净的.tmp/public文件夹中。这允许您挑选应该公开的资源,还允许您在不同的环境中编译和缩小资源。除非您将.tmp置于版本控制之下,否则这不一定会使您的应用程序大小翻倍,但如果您拥有大量资产,则肯定会使您的应用程序启动速度变慢。
这里最简单的解决方案是关闭Grunt,直接从Assets文件夹服务您的静电资产。要做到这一点,请执行以下操作:
- 删除Gruntfile.js(或将其重命名为Gruntfile.js.bak)
创建名为config/assets.js的新配置文件(或您喜欢的任何配置文件,名称无关紧要),并将以下内容放入其中:
module.exports = { paths: { public: __dirname+"/../assets" } };
将其放入新配置文件而不是config/local.js的原因是,local.js默认情况下位于您的.gitignore文件中,因此如果您使用Git进行版本控制,则每次在新计算机上安装应用程序时都必须重新创建该文件。
就像我说的,这是最简单的解决方案,但它有一些缺点:
- 不再在生产模式下自动编译/缩小资产
- 不再使用asset pipeline 自动链接Javascript/CSS文件
如果您希望保留这些功能,但仍要避免将大量文件复制到.tmp中,则解决方案在于修改默认的Grunt任务(这就是它们出现在您的项目中的目的!)。
相关文章