在Electron中找不到模块

时间:2018-01-03 10:47:03

标签: javascript jquery electron

我目前正在与巴比伦合作电子。我发现this repo我基本上用作我自己项目的样板文件。 在我尝试添加jquery.pep.js以满足其他需求之前,一切运行良好。 我继续犯这个错误:

  

未捕获错误:找不到模块'jquery.pep.js'

我用“npm i -S jquery”和“npm i -S jquery.pep.js”安装了两个库。为了使jquery工作,我在index.html

的头部添加了这个脚本
<script> delete window.module; </script>

这行在main.js的顶部:

window.$ = window.jQuery = require('jquery');

现在,jquery工作正常,但由于某些原因,仍然无法找到jquery.pep.js模块。我尝试使用'require',但我有同样的错误

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

1 个答案:

答案 0 :(得分:11)

您正在请求某些内容,而节点无法找到它。你可以阅读这个dedicated article on requiring modules in node,这很简单。引用:

  

当我们需要'find-me'模块时,不指定路径:

     

require('find-me');

     

节点将在指定的所有路径中查找find-me.js   module.paths - 按顺序。

$ 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目录列表   从当前目录到根目录的每个目录。它   还包括一些不建议使用的旧目录。

     

如果Node在这些路径中找不到find-me.js,它将抛出一个   “找不到模块错误。”

~/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)

确保将模块安装在节点知道为module.paths的某个位置,或通过提供绝对路径引用该文件。