Node.js 理解使用expressJS和spookyJS时的困难
我目前正在使用expressJS为nodeJS服务器进行导航,并使用spookyJS进行测试,我想知道下面的代码是否可行 当用户访问Node.js 理解使用expressJS和spookyJS时的困难,node.js,express,spookyjs,Node.js,Express,Spookyjs,我目前正在使用expressJS为nodeJS服务器进行导航,并使用spookyJS进行测试,我想知道下面的代码是否可行 当用户访问http://localhost:3131/tests他看到一个html站点。这是完美的工作 示例代码: app.get('/tests', function (req, res) { res.render('tests.html'); }); app.get('/tests/start', function (req, res) { try {
http://localhost:3131/tests
他看到一个html站点。这是完美的工作
示例代码:
app.get('/tests', function (req, res)
{
res.render('tests.html');
});
app.get('/tests/start', function (req, res)
{
try {
var Spooky = require('spooky');
} catch (e) {
var Spooky = require('../../lib/spooky');
}
var spooky = new Spooky({
casper: {
logLevel: 'debug',
verbose: true
}
}, function (err) {
if (err) {
e = new Error('Failed to initialize SpookyJS');
e.details = err;
throw e;
}
spooky.on('error', function (e) {
console.error(e);
}); ......
当用户访问http://localhost:1337/tests/start
spookyJS测试应该启动,但事实并非如此
示例代码:
app.get('/tests', function (req, res)
{
res.render('tests.html');
});
app.get('/tests/start', function (req, res)
{
try {
var Spooky = require('spooky');
} catch (e) {
var Spooky = require('../../lib/spooky');
}
var spooky = new Spooky({
casper: {
logLevel: 'debug',
verbose: true
}
}, function (err) {
if (err) {
e = new Error('Failed to initialize SpookyJS');
e.details = err;
throw e;
}
spooky.on('error', function (e) {
console.error(e);
}); ......
上面的代码不是完整的代码,它只是让您了解我想如何做。用expressJS可以这样做吗
我又举了一个小例子,它是有效的。当我在浏览器中导航到nodeJS服务器时,测试开始,如下面的示例http://localhost:4141
var httpServer = require('http').createServer(function(req, response){
try {
var Spooky = require('spooky');
} catch (e) {
var Spooky = require('../../lib/spooky');
}
var spooky = new Spooky({
casper: {
logLevel: 'debug',
verbose: true
}
.
.
.
.
});
httpServer.listen(1337);
为什么当我使用一个没有导航的普通nodeJS服务器,但使用expressJS导航时它不工作?谢谢你的帮助,
Alex注意:require()会阻止IO,您应该只在文件顶部需要()模块,以便在加载时发生,而不是在路由中。(是的,在第一次缓存之后,它将被缓存,但它的形式仍然很差)提示@generalhenry