Images not found when deploying Sails JS to Heroku
我已经开发了一个Sails.js应用程序,该应用程序可以在本地正常工作。但是,当我将其部署到生产环境(Heroku)时,找不到" / assets / images /"文件夹中的图像(404)。
我知道有一些任务可以将" / assets"文件夹中的文件传输到" .tmp / public"文件夹中,以便在取消应用程序时可以访问这些文件。 .js和.less文件将按预期加载,但不会加载图像。
如何确保" / assets / images"文件夹也已转移到公共文件夹?
我遇到了这个问题。
主要思想是在.tmp中创建一个上载文件夹。
并在公共文件夹中建立一个符号链接,以进行上传。
问题在于,每次我们提升应用程序时,Grunt都会重写\\'。tmp / public \\'的所有内容。
因此,我做了一个适当的Grunt任务,该任务只是创建了符号链接。
在task / config中创建Grunt任务。并将其命名为symlink.js。
1 2 3 4 5 6 7 8 9 10 11 12 13 | module.exports = function(grunt) { grunt.config.set('symlink', { dev: { src: '.tmp/uploads/**', dest: '.tmp/public/uploads/' } }); grunt.loadNpmTasks('grunt-contrib-symlink'); }; |
最后将任务添加到task / register / compileAssets.js。
1 2 3 4 5 6 7 8 9 10 | module.exports = function (grunt) { grunt.registerTask('compileAssets', [ 'clean:dev', 'jst:dev', 'less:dev', 'copy:dev', 'coffee:dev', 'symlink:dev' ]); }; |