2015-02-10 62 views
0

我试图从Node.js应用程序需要CoffeeScript文件,但Node.js给出错误Error: Cannot find module 'something'。什么是正确的方法来做到这一点?如果我事先编译CoffeeScript代码,它可以工作,但我不想这样做。从Node.js应用程序需要CoffeeScript给出找不到模块错误

test.js:

require('coffee-script').register(); 

require('something'); 

something.coffee:

console.log('Hello World!'); 

控制台输出:

> node test.js 

module.js:340 
    throw err; 
     ^
Error: Cannot find module 'something' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at Object.<anonymous> (C:\Users\Sami\Desktop\smallscale\test.js:3:1) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:906:3 
+0

你也反对一个编译它的监视过程? – 2015-02-10 19:38:07

+1

@DaveNewton我找到了很多答案,认为这应该是可能的。请参阅http://stackoverflow.com/a/4769079/2193958。 – Scintillo 2015-02-10 19:58:49

+0

为什么不尝试它在那里说的?我总是有一个观察者正在编辑和编译,所以我不了解按需编译 - 对不起。 – 2015-02-10 20:02:40

回答

2

好像你正试图require()使用结构到一个文件require()模块。

如果你没有给require()require()一个文件路径(绝对或相对),Node.js将在/node_modules目录中查找你的模块。您可以阅读文档here

尝试需要您的模块作为一个JavaScript文件是这样的:

require('./something') 

(并确保'./something'是从那里你需要的模块到模块位于您的应用程序结构,或使用路径绝对路径)。

相关问题