问题描述
部署到Digital Ocean时出现手把部分找不到错误,npm run assemble production
命令失败并且未呈现图标。
我尝试过:
-
changing the partial with the name of a environment variable or HTML tag,将文件名从“ header”更改为“ header-somethingelse”,但错误仍然存在。
-
将hbs.registerPartials添加到config.js文件。还是一样的错误。
> node ./bin/tasks/assemble "production"
events.js:160
throw er; // Unhandled 'error' event
^
Error: The partial global/header Could not be found
at Object.invokePartial (/one-table/node_modules/handlebars/dist/cjs/handlebars/runtime.js:332:11)
at Object.handlebars.VM.invokePartial (/one-table/node_modules/engine-handlebars/index.js:196:26)
at Object.invokePartialWrapper [as invokePartial] (/one-table/node_modules/handlebars/dist/cjs/handlebars/runtime.js:84:39)
at Object.eval (eval at createFunctionContext (/one-table/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js:262:23),<anonymous>:10:31)
config.js
var express = require('express');
var bodyParser = require('body-parser');
const methodoverride = require('method-override');
var errorHandler = require('errorhandler');
var path = require('path');
var exphbs = require('express-handlebars');
const helpers = require( 'handlebars-helpers')();
module.exports = function() {
var app = express();
app.engine('.hbs',exphbs({
extname: '.hbs',helpers: require(path.join(__dirname,'src','templates','helpers','render')),layoutsDir: path.join(__dirname,'layouts'),partialsDir: path.join(__dirname,'partials'),defaultLayout: 'default'
}));
app.set('port',8080);
app.set('views',path.join(__dirname,'pages'));
app.set('view engine','hbs');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(methodoverride());
app.use(errorHandler());
app.use(express.static(path.join(__dirname,'./build')));
return app;
}();
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)