在Electron中找不到模块 [英] Cannot find module in Electron
问题描述
我目前正在与巴比伦合作电子。我找到了这个回购,我基本上将其用作我自己项目的样板。
一切顺利,直到我尝试添加 jquery.pep.js 以满足其他需求。
我继续犯这个错误:
I am currently working on Electron with Babylon. I found this repo which I basically used as a boilerplate for my own project. Everything was working well until I tried to add jquery.pep.js for other needs. I keep on having this mistake :
未捕获错误:找不到模块'jquery.pep.js'
Uncaught Error: Cannot find module 'jquery.pep.js'
我用npm i -S jquery和npm i -S jquery.pep.js安装了两个库。为了使jquery工作,我在index.html的头部添加了这个脚本
I installed both libraries with "npm i -S jquery" and "npm i -S jquery.pep.js". In order to make jquery works, I added this script in the head of my index.html
<script> delete window.module; </script>
这条线在我的main.js顶部:
and this line in the top of my main.js :
window.$ = window.jQuery = require('jquery');
现在,jquery工作正常但由于某些原因,jquery.pep.js模块仍然不能被发现。我尝试使用'require',但我有同样的错误
Now, jquery is working fine but for some reasons, jquery.pep.js module still can't be found. I tried to use 'require' but I have the same error
main.js
window.$ = window.jQuery = require('jquery');
var pep = require('jquery.pep.js');
项目结构
css /
img /
js /
- main.js
node_modules /
index.html
index.js
package.json
renderer.js
Project structure
css/
img/
js/
-- main.js
node_modules/
index.html
index.js
package.json
renderer.js
推荐答案
您正在请求某些内容,而节点无法找到它。你可以阅读这篇专题文章需要节点中的模块,这很简单。引用:
You are requesting something and node is not able to find it. You can read this dedicated article on requiring modules in node, which explains it quite simply. Quoting:
当我们需要'find-me'模块时,不指定路径:
When we require a 'find-me' module, without specifying a path:
require('find-me');
节点将查找 find-me.js
在
module.paths
指定的所有路径中 - 按顺序。
Node will look for find-me.js
in all the paths specified by
module.paths
— in order.
$ node
> module.paths
[ '/Users/samer/learn-node/repl/node_modules',
'/Users/samer/learn-node/node_modules',
'/Users/samer/node_modules',
'/Users/node_modules',
'/node_modules',
'/Users/samer/.node_modules',
'/Users/samer/.node_libraries',
'/usr/local/Cellar/node/7.7.1/lib/node' ]
路径列表基本上是
下每个目录从当前目录到根目录的node_modules目录列表。它
还包括一些不推荐使用的旧目录。
The paths list is basically a list of node_modules directories under every directory from the current directory to the root directory. It also includes a few legacy directories whose use is not recommended.
如果Node找不到 find-me.js
在任何这些路径中,它都会抛出
无法找到模块错误。
If Node can’t find find-me.js
in any of these paths, it will throw a
"cannot find module error."
~/learn-node $ node
> require('find-me')
Error: Cannot find module 'find-me'
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:1
at ContextifyScript.Script.runInThisContext (vm.js:23:33)
at REPLServer.defaultEval (repl.js:336:29)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer.onLine (repl.js:533:10)
确保将模块安装在某个节点所知的位置模块.paths
,或通过提供绝对路径引用该文件。
Make sure you have your module installed somewhere in what node knows as module.paths
, or reference the file by providing absolute path.
这篇关于在Electron中找不到模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!