![](/img/trans.png)
[英]How do I get my ember.js app to import modules installed from bower or npm
[英]How do I require modules installed with npm globally?
我已經全局安裝了some-npm-module
,但是當我require()
它時出現錯誤:
$ node
> const module = require('some-npm-module')
> import module from 'some-npm-module'
Error: Cannot find module 'some-npm-module'
at Function.Module._resolveFilename (module.js:470:15)
at Function.Module._load (module.js:418:25)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at repl:1:12
at realRunInThisContextScript (vm.js:22:35)
at sigintHandlersWrap (vm.js:98:12)
at ContextifyScript.Script.runInThisContext (vm.js:24:12)
at REPLServer.defaultEval (repl.js:313:29)
at bound (domain.js:280:14)
核心節點模塊確實可以正常工作。 以下不會產生任何錯誤:
const http = require('http');
為什么會這樣? 我是否正確安裝模塊?
請注意,在這種情況下,我需要在終端中而不是在某個項目中使用npm模塊。
根據文檔 ,僅當您計划在命令行上調用模塊時,才應在全局安裝模塊:
如果要將其用作命令行工具(如grunt CLI),則需要在全局安裝它。 另一方面,如果您想使用Node的require之類的東西依賴您自己模塊中的軟件包,那么您想在本地安裝。
這是因為require()
不在全局模塊目錄中查找,因此,如果在該目錄中安裝了some-npm-module
,它將永遠找不到。
使用npm install some-npm-module
在本地npm install some-npm-module
應該可以解決您的問題,並允許您向REPL提出要求(只要您從同一目錄一致地運行REPL)。
rm -rf node_modules
npm安裝
全局安裝npm模塊后,要在當前項目/目錄中使用它,只需鏈接它即可。
npm鏈接module_name
它應該工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.