Javascript 通过查看nodejs的发动机把手,查看Hapijs上的角度代码
虽然在hapi中制作api之后。我决定在hapijs的文件夹结构中创建一个视图文件来呈现html文件。我使用了hapijs上的Handlebar引擎和Vision支持库来显示html文件。当我运行普通html代码时,一切看起来都很好,但当我使用angular代码时,它会产生一些解析错误。我想可能是视图引擎把手有问题。请帮忙 当我运行node server并点击view调用的路由时,出现了一个错误Javascript 通过查看nodejs的发动机把手,查看Hapijs上的角度代码,javascript,angularjs,node.js,handlebars.js,hapijs,Javascript,Angularjs,Node.js,Handlebars.js,Hapijs,虽然在hapi中制作api之后。我决定在hapijs的文件夹结构中创建一个视图文件来呈现html文件。我使用了hapijs上的Handlebar引擎和Vision支持库来显示html文件。当我运行普通html代码时,一切看起来都很好,但当我使用angular代码时,它会产生一些解析错误。我想可能是视图引擎把手有问题。请帮忙 当我运行node server并点击view调用的路由时,出现了一个错误 Error: Parse error on line 144: ...
Error: Parse error on line 144:
... <td> {{(titleData.Success
-----------------------^
Expecting 'ID', 'STRING', 'NUMBER', 'BOOLEAN', 'UNDEFINED', 'NULL', 'DATA', got 'OPEN_SEXPR': Parse error on line 144:
... <td> {{(titleData.Success
我看到很多博客和github都在抱怨模板引擎手柄,所以我切换到了ejs,还有另一个模板引擎和代码可以正常工作,但有一个问题是,如果js文件包含在外部,它无法呈现js文件 这是代码,你可以看到
server.views({
engines: { html: require('ejs') },
// compileMode: 'sync',
relativeTo: __dirname,
path: __dirname + '/view',
layoutPath: 'index',
});
//Routes for apis
server.route({
method: 'GET',
path: '/view',
handler: {
view: 'index'
}
});
以上答案不足以满足我们的要求。因此,我正在分享一个解决方案,我们可以在HTML中外部使用js文件
var Path =require('path');
server.views({
engines: { html: require('ejs') },
// compileMode: 'sync',
relativeTo: __dirname,
path: __dirname + '/view',
layoutPath: 'index',
});
//Routes for apis
server.route({
method: 'GET',
path: '/{param*}',
handler: {
directory: {
path: Path.join(__dirname, 'public'),
listing: true
}
}
});
server.route({
method: 'GET',
path: '/view',
handler: {
view: 'index'
}
});
我遵循的目录结构示例如下:
看法
--index.html
公开的
--助手
---controller.js
server.js
server.views({
engines: { html: require('ejs') },
// compileMode: 'sync',
relativeTo: __dirname,
path: __dirname + '/view',
layoutPath: 'index',
});
//Routes for apis
server.route({
method: 'GET',
path: '/view',
handler: {
view: 'index'
}
});
var Path =require('path');
server.views({
engines: { html: require('ejs') },
// compileMode: 'sync',
relativeTo: __dirname,
path: __dirname + '/view',
layoutPath: 'index',
});
//Routes for apis
server.route({
method: 'GET',
path: '/{param*}',
handler: {
directory: {
path: Path.join(__dirname, 'public'),
listing: true
}
}
});
server.route({
method: 'GET',
path: '/view',
handler: {
view: 'index'
}
});