我在渲染我的gulp-jade编译的js文件时遇到了一些问题。 这是它的样子: Gulpfile.js正在创建index.js:
gulp.task('templates', function () {
gulp.src('./views/*.jade')
.pipe(wiredep({
directory: './bower_components',
// bowerJson: require('./bower.json'),
ignorePath: '/dist'
})).pipe(jade({
client: true
}))
.pipe(gulp.dest('./views'))
.pipe(livereload());
});
它会生成如下所示的index.js:
function template(locals) {
var buf = [];
var jade_mixins = {};
var jade_interp;
buf.push("<!DOCTYPE html5><html><head><link rel=\"stylesheet\" href=\"css/style.css\"/><title>Simple online game</title></head><body><!-- bower:js--><script src=\"../bower_components/jquery/jquery.js\"></script><!-- endbower--><h1>Co jest?</h1></body></html>");;return buf.join("");
}
现在我的问题是由节点服务器呈现那个views / index.js文件。我有像这样运行服务器的gulp任务:
gulp.task('server', function () {
server.listen({ path: './server.js' });
});
我的server.js看起来像这样:
var express = require('express');
var jade = require('jade');
var app = express();
app.set('views', './views');
app.set('view engine', 'js');
app.use(express.static('public'));
app.get('/', function (req, res) {
var html = jade.renderFile('index');
res.render(html);
});
app.listen(3000, function() {
console.log('Server is running');
});
当我运行gulp任务时,我收到错误:
错误:ENOENT:没有这样的文件或目录,打开&#39;索引&#39; 在错误(本机) at Object.fs.openSync(fs.js:549:18) 在Object.fs.readFileSync(fs.js:397:15)
我改变道路:
app.get('/', function (req, res) {
var html = jade.renderFile('./views/index.js');
res.render(html);
});
我得到这样的错误:
错误:./ views / index.js:6 4 | var jade_interp; 5 | 6 | buf.push(&#34;简单的在线游戏
Heade
&#34;);;返回buf.join(&#34;&#34;); 7 | }
预期的字符
,
\n
,,
,!
或=
我做错了什么?如何正确设置服务器?