Javascript Can';t将引导JS加载到电子应用程序中
我正在做一个电子应用程序。在index.htm文件的开头,我有以下几行:Javascript Can';t将引导JS加载到电子应用程序中,javascript,jquery,twitter-bootstrap,electron,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> require('./js/jquery
<script>require('./js/jquery.min.js');</script>
<script>require('./js/popper.min.js');</script>
<script>require('./js/bootstrap.min.js');</script>
require('./js/jquery.min.js');
要求('./js/popper.min.js');
需要('./js/bootstrap.min.js');
相应的文件位于指定的位置。加载前两个文件正常,但加载引导时,会发生以下错误:
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)
未捕获错误:找不到模块“jquery”
需要堆栈:
-D:\E\electron快速入门母版\js\bootstrap.min.js
-D:\E\electron快速入门母版\index.html
at Module.\u解析文件名(internal/modules/cjs/loader.js:627)
位于Function.Module.\u resolveFilename(C:\Users\Username\AppData\Roaming\npm\node\modules\electron\dist\resources\electron.asar\common\reset search path.js:41)
at Function.Module._load(内部/modules/cjs/loader.js:531)
at Module.require(内部/modules/cjs/loader.js:685)
根据需要(内部/modules/cjs/helpers.js:16)
位于D:\ElectronPlayground\electron快速启动主机\js\bootstrap.min.js:6
反对。(D:\E\electron quick start master\js\bootstrap.min.js:6)
反对。(D:\E\electron quick start master\js\bootstrap.min.js:8)
at模块编译(内部/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>
window.jQuery=window.$=require('./js/jQuery.min.js');
要求('./js/popper.min.js');
需要('./js/bootstrap.min.js');
但这并没有改变什么。问题是什么?问题的原因是没有定义jQuery(在窗口中全局定义),因为定义了
模块,因此您无法访问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安装jquery——保存
现在在脚本标记(或js文件)中添加以下代码:
window.$=window.jQuery=require('jQuery')代码>
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>
window.$=window.jQuery=require('./jQuery-3.0.0.min.js');
我的回答对您有帮助吗?