在Electron中找不到模块

Nag*_*gah 5 javascript jquery electron

我目前正在研究Electron with Babylon.我发现这个仓库我基本上用作我自己项目的样板.在我尝试添加jquery.pep.js以满足其他需求之前,一切运行良好.我继续犯这个错误:

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

我用"npm i -S jquery"和"npm i -S jquery.pep.js"安装了两个库.为了使jquery工作,我在index.html的头部添加了这个脚本

<script> delete window.module; </script>
Run Code Online (Sandbox Code Playgroud)

这行在main.js的顶部:

window.$ = window.jQuery = require('jquery');
Run Code Online (Sandbox Code Playgroud)

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

main.js

window.$ = window.jQuery = require('jquery'); 
var pep = require('jquery.pep.js');
Run Code Online (Sandbox Code Playgroud)

项目结构

css/
img/
js/
- main.js
node_modules/
index.html
index.js
package.json
renderer.js

Ade*_*lin 11

您正在请求某些内容,节点无法找到它.您可以阅读这篇关于在节点中要求模块的专门文章,这非常简单地解释了它.引用:

当我们需要'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' ]
Run Code Online (Sandbox Code Playgroud)

路径列表基本上是从当前目录到根目录的每个目录下的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)
Run Code Online (Sandbox Code Playgroud)

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