【问题标题】:Can't load bootstrap JS into an Electron app无法将引导 JS 加载到 Electron 应用程序中
【发布时间】:2019-12-29 19:57:56
【问题描述】:

我正在制作一个 Electron 应用程序。在 index.htm 文件的开头我有以下几行:

   <script>require('./js/jquery.min.js');</script>
   <script>require('./js/popper.min.js');</script>
   <script>require('./js/bootstrap.min.js');</script>

相应的文件位于指定的位置。加载前两个文件正常,但加载引导程序时,出现以下错误:

Uncaught Error: Cannot find module 'jquery'
Require stack:
- D:\E\electron-quick-start-master\js\bootstrap.min.js
- D:\E\electron-quick-start-master\index.html
    at Module._resolveFilename (internal/modules/cjs/loader.js:627)
    at Function.Module._resolveFilename (C:\Users\Username\AppData\Roaming\npm\node_modules\electron\dist\resources\electron.asar\common\reset-search-paths.js:41)
    at Function.Module._load (internal/modules/cjs/loader.js:531)
    at Module.require (internal/modules/cjs/loader.js:685)
    at require (internal/modules/cjs/helpers.js:16)
    at D:\ElectronPlayground\electron-quick-start-master\js\bootstrap.min.js:6
    at Object.<anonymous> (D:\E\electron-quick-start-master\js\bootstrap.min.js:6)
    at Object.<anonymous> (D:\E\electron-quick-start-master\js\bootstrap.min.js:8)
    at Module._compile (internal/modules/cjs/loader.js:786)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:798)

按照这里的一些较早的类似问题,我尝试了这个:

  <script>window.jQuery = window.$ = require('./js/jquery.min.js');</script>
  <script>require('./js/popper.min.js');</script>
  <script>require('./js/bootstrap.min.js');</script>

但它什么也没改变。有什么问题?

【问题讨论】:

  • 我的回答对你有帮助吗?

标签: javascript jquery twitter-bootstrap electron


【解决方案1】:

这个问题是因为没有定义jQuery(全局在窗口中),因为module被定义了,所以你不能访问jQuery变量,因为它确实不存在,这个问题是由以下原因引起的库中的 if 语句:

if ( typeof module === "object" && typeof module.exports === "object" ) {
  // set jQuery in `module`
} else {
  // set jQuery in `window`
}

您有两个选项来解决此问题,它们既简单又直接 - 因为您只需使用 require 方法返回的值(库本身)声明 jQuery$ 全局变量。:

1.用 NPM 修复

在节点命令提示符中使用以下命令将 jQuery 安装到您的项目中:

npm install jquery --save

现在在脚本标签(或 js 文件)内添加以下代码:

&lt;script&gt;window.$ = window.jQuery = require('jquery');&lt;/script&gt;

2。用 jQuery 库文件修复

如果您不直接使用 NPM 安装 jQuery 库,这意味着您在项目中的某个位置只拥有 jQuery 文件。要在窗口中添加 jQuery 变量,请使用 require 和 jQuery 库的路径作为第一个参数:

<!-- If the require doesn't work, include first the jQuery file
<script src="jquery-3.0.0.min.js"></script>-->
<script>window.$ = window.jQuery = require('./jquery-3.0.0.min.js');</script>

【讨论】:

    猜你喜欢
    • 2019-10-01
    • 2015-12-09
    • 2020-07-10
    • 2016-08-20
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    相关资源
    最近更新 更多