我想先说这个问题,说我很难理解这个问题到底发生了什么,如果不符合Stackoverflow的Q& A标准,我会道歉。
我正在尝试import
一个NPM模块,然后由Webpack在我们的项目中编译。 This是有问题的模块,this是给我们带来问题的文件。
在该文件的末尾,有导出代码:
if (typeof(module) !== 'undefined')
{
module.exports = window.Swiper;
}
else if (typeof define === 'function' && define.amd) {
define([], function () {
'use strict';
return window.Swiper;
});
}
就是这样。在整个文件中有一些对jQuery
的引用,但没有任何暗示webpack应该将其作为模块包含在内。搜索"jQuery"
并亲自查看。
那么为什么我们这样导入插件时就是这样:
import Swiper from 'swiper'
否模块的package.json
中的其他地方或其他类似地将jQuery描述为依赖项。我不知道发生了什么。如果有任何用处,这里的代码似乎会在编译的bundle中引发错误:
else if (typeof define === 'function' && define.amd) {
define([], function () {
'use strict';
return window.Swiper;
});
}
//# sourceMappingURL=maps/swiper.js.map
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(!(function webpackMissingModule() { var e = new Error("Cannot find module \"jquery\""); e.code = 'MODULE_NOT_FOUND'; throw e; }()))))
答案 0 :(得分:0)
我认为Swiper本身需要jQuery。因为您处于AMD / webpack环境中,Swiper正试图“导入/要求”#34;它和webpack找不到它。