我正在尝试设置一个 nodejs 项目以使用 requirejs。我用 node r.js ./config/main.js
调用我的程序,我的 main.js 如下所示:
var cs = require("coffee-script");
var requirejs = require("requirejs");
requirejs.config({
nodeRequire: require,
baseUrl: ".",
paths: {
cs: "cs",
CoffeeScript: "CoffeeScript",
csBuild: "csBuild",
express: "express",
nohm: "nohm",
redback: "redback",
_: "underscore",
"connect-redis": "connect-redis",
freebase: "freebase"
}
});
console.log("hetet");
requirejs(["cs!./config/app"], function(app){
console.log("closing")
});
在 app.coffee 内部:
define((require) ->
express = require("express")
RedisStore = require("connect-redis")(express)
app = express.createServer()
config = require('cs!./config')
require('cs!./setup')(app, express, RedisStore)
require('cs!./routes')(app)
require('cs!../src/server')
app.listen(config.server.port)
)
我似乎在 main.js 中失败并出现错误:
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Calling node's require("config") failed with error: Error: Calling node's require("config") failed with error: Error: Cannot find module 'config'
我注意到的是,当我注释掉 var requirejs = require("requirejs");
行(在 main.js 中)时,我走得更远并在 行失败RedisStore = require("connect-redis")(express)
(在 app.coffee 中)出现错误:
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: undefined is not a function
at ./config/app.coffee:10:41
我在 node 中配置 requirejs 时遇到了很多麻烦,如果有任何帮助,将不胜感激。
谢谢
最佳答案
最好不要将 requirejs 配置为在 node_modules 中查找,因为该区域中的模块是针对 node 格式化的模块。 requirejs node page 中有更多信息.
关于javascript - 配置从 node_modules 读取的 requirejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10500073/