我尝试使用RequireJS根据此处的说明在我的节点项目中加载服务器端模块:http://requirejs.org/docs/node.html
我的启动文件如下所示:
var requirejs = require( "requirejs" );
requirejs.config({ nodeRequire: require });
requirejs([ "app" ], function( app ) {
app.listen(80, function(){
console.log( "We be shuffling..." );
});
});
然后,我有一个像这样的app文件......
requirejs([
"express"
], function ( express ) {
var app = express();
app.configure( "development", function(){
app.use( express.errorHandler() );
});
return app;
});
...然而,这只会导致一堆错误:
timers.js:103 if(!process.listeners(' uncaughtException')。length)throw e; ^ TypeError:无法调用方法' listen'未定义的 在/home/ssp/boot.js:13:7 at Object.context.execCb(/home/ssp/node_modules/requirejs/bin/r.js:1729:33) 在Object.Module.check(/home/ssp/node_modules/requirejs/bin/r.js:969:51) at Object.Module.enable(/home/ssp/node_modules/requirejs/bin/r.js:1239:22) at Object.Module.init(/home/ssp/node_modules/requirejs/bin/r.js:882:26) at Object.context.makeRequire.mixin.isBrowser [as _onTimeout](/home/ssp/node_modules/requirejs/bin/r.js:1505:36) 在Timer.list.ontimeout(timers.js:101:19)root @ nodeapp:/ home / ssp #stode boot
timers.js:103 if(!process.listeners(' uncaughtException')。length)throw e; ^ TypeError:无法调用方法' listen'未定义的 在/home/ssp/boot.js:13:7 at Object.context.execCb(/home/ssp/node_modules/requirejs/bin/r.js:1729:33) 在Object.Module.check(/home/ssp/node_modules/requirejs/bin/r.js:969:51) at Object.Module.enable(/home/ssp/node_modules/requirejs/bin/r.js:1239:22) at Object.Module.init(/home/ssp/node_modules/requirejs/bin/r.js:882:26) at Object.context.makeRequire.mixin.isBrowser [as _onTimeout](/home/ssp/node_modules/requirejs/bin/r.js:1505:36) 在Timer.list.ontimeout(timers.js:101:19)
有没有人有任何我缺少的建议?
谢谢!
答案 0 :(得分:0)
如果您的意图是使用express with express,为什么不使用自动设置脚本?有关如何使用npm设置express的说明,请参阅http://expressjs.com/guide.html#executable基本上,您只需在命令行中使用express。要求包含在设置中。
答案 1 :(得分:0)
你需要定义()你的“模块”应用程序,而不是使用requirejs(),因为你需要先声明你的模块。
将var define = require("amdefine")
添加到您的启动文件中。
并在您的app文件中:
define(["express" ],
function ( express ) {
var app = express();
app.configure( "development", function(){
app.use( express.errorHandler() );
});
return app;
});