2012-05-08 18 views
14

Próbuję skonfigurować projekt nodejs do używania requirejs. Wzywam mój program z node r.js ./config/main.js i moi main.js wygląda następującą:Konfigurowanie odczytu requirejs z node_modules

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") 
}); 

i wewnątrz 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) 
) 

wydaje mi się uda w main.js z błędem:

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' 

i co zauważyłem to kiedy wykomentuj linię var requirejs = require("requirejs"); (w main.js), mam dalej i nie na linii RedisStore = require("connect-redis")(express) (w app.coffee) z błędem:

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 

Mam dużo problemów z konfiguracją requirejs w węźle, każda pomoc byłaby doceniana.

dzięki

Odpowiedz

-1

Najlepiej jest nie skonfigurować requirejs patrzeć w node_modules, ponieważ moduły w tej dziedzinie są moduły sformatowane dla węzła. Jest trochę więcej informacji w requirejs node page.

+8

FYI, to nie do końca prawda. npm nie jest wyłącznie dla modułów tylko dla węzłów. Istnieje mnóstwo instalowalnych modułów npm, które świetnie sprawdzają się w przeglądarce tak jak są lub istnieją alternatywnie wysłane moduły, które są gotowe do przeglądania w przeglądarce. Ten moduł jest zwykle określany w klucz 'browser.json' pliku'. –

+2

'npm install podkreślenie jquery' Te biblioteki są paczkami w" krzyżowy "sposób, aby były przyjazne AMD (requirejs) –