无法将Bootstrap JS加载到Electron应用程序中

时间:2019-08-25 07:37:59

标签: javascript jquery twitter-bootstrap 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>

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

1 个答案:

答案 0 :(得分:0)

该问题是由于未定义module而未定义jQuery(在窗口中全局)而导致的,因此您无法访问jQuery变量,因为它实际上不存在,此问题是由于库中的以下if语句:

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

您有两种方法可以解决此问题,它们既简单又直接-因为您只需使用返回值(库本身)声明jQuery$全局变量即可。要求方法。

1。使用NPM修复

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

npm install jquery --save

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

<script>window.$ = window.jQuery = require('jquery');</script>

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>