2012-05-08 26 views
14

Tôi đang cố thiết lập dự án nodejs để sử dụng requirejs. Tôi gọi chương trình của tôi với node r.js ./config/main.js và main.js của tôi trông giống như sau:định cấu hình requirejs đọc từ 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") 
}); 

và bên 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) 
) 

tôi dường như thất bại trong main.js với lỗi:

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' 

và những gì tôi đã nhận thấy là khi tôi nhận xét dòng var requirejs = require("requirejs"); (trong main.js), tôi nhận được thêm và không thành công tại dòng RedisStore = require("connect-redis")(express) (trong app.coffee) với lỗi:

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 

Tôi đã gặp nhiều sự cố khi định cấu hình requirejs trong nút mà mọi trợ giúp sẽ được đánh giá cao.

nhờ

Trả lời

-1

Tốt nhất là không cấu hình requirejs để tìm trong node_modules, vì module trong khu vực đó là module được định dạng cho nút. Có thêm một chút thông tin trong số requirejs node page.

+8

FYI, điều này không hoàn toàn đúng. npm không đúng đối với các mô đun chỉ có nút. Có rất nhiều mô-đun có thể cài đặt npm hoạt động tốt trong trình duyệt như hiện tại hoặc có một mô-đun được vận chuyển luân phiên sẵn sàng cho trình duyệt. Mô-đun này thường được chỉ định trong khóa 'trình duyệt' của tệp tin' package.json'. –

+2

'npm install underscore jquery' Các thư viện này là các gói trong một 'nền tảng chéo' để làm cho chúng thân thiện với AMD (requirejs) –

Các vấn đề liên quan