我正在嘗試爲我正在創建的應用程序使用Mean.io,並且我基本上沒有改變原始配置文件中的任何內容,並且當我啓動此應用程序時heroku在生產模式下,它不正確彙總dist文件並給我Meanman中的assetmanager不能在生產模式下工作
「無法加載資源:服務器響應的狀態爲404(Not Found)http://****.herokuapp。 COM/bower_components /建設/ CSS/dist.min.css 「」
同樣適用於JS文件的相關文件看起來像這樣: Assets.json: {
"core": {
"css": {
"bower_components/build/css/dist.min.css": [
"bower_components/met_theme/global/css/components.css"
]
},
"js": {
"bower_components/build/js/dist.min.js": [
"bower_components/angular/angular.js",
"bower_components/angular-mocks/angular-mocks.js",
"bower_components/angular-cookies/angular-cookies.js",
"bower_components/angular-resource/angular-resource.js",
"bower_components/angular-ui-router/release/angular-ui-router.js",
"bower_components/angular-bootstrap/ui-bootstrap.js",
"bower_components/angular-bootstrap/ui-bootstrap-tpls.js",
"bower_components/met_theme/global/scripts/datatable.js",
"bower_components/met_theme/global/scripts/metronic.js"
]
}
}
}
在我的gruntfile:
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
assets: grunt.file.readJSON('config/assets.json'),
// later on
uglify: {
core: {
options: {
mangle: false
},
files: '<%= assets.core.js %>'
}
},
csslint: {
options: {
csslintrc: '.csslintrc'
},
src: paths.css
},
cssmin: {
core: {
files: '<%= assets.core.css %>'
}
},
我可以看到這是一個生產vs發展中的錯誤,如果我改變我的express.js的assetmanager目標文件:
var assets = assetmanager.process({
assets: require('./assets.json'),
debug: process.env.NODE_ENV !== 'development',
webroot: /public\/|packages\//g
});
與之相對to!=='生產'它在本地給我同樣的問題。我對加載文件的這種方式並不是很熟悉,我似乎無法找到任何解決方案,因此任何能夠提供答案或指向正確方向的人都會非常感激。
您在heroku中設置NODE_ENV? 'heroku配置:設置NODE_ENV =生產' –
是的,就像我說的那樣,assetmanager構建dist文件的方式正在進行。 –
我有同樣的問題 –