17

requirejs を使用するように nodejs プロジェクトをセットアップしようとしています。プログラムを呼び出す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

ノードでrequirejsを構成するのに多くの問題がありましたが、助けていただければ幸いです。

ありがとう

4

1 に答える 1

-4

その領域のモジュールはノード用にフォーマットされたモジュールであるため、node_modules を参照するように requirejs を構成しないことをお勧めします。requirejs node pageにもう少し情報があります。

于 2012-05-10T17:28:21.973 に答える