当我尝试捆绑使用AMD编写的代码时,一旦使用button
函数,就会出现错误StringVar()
。我该如何解决?由于整个项目都是使用RequireJS AMD编写的,因此不能将textvariable
更改为button
。
这是我的Webpack配置:
Uncaught Error: define cannot be used indirect
我的输入文件:
define()
这是它给我的输出:
define()
但是,入口文件是由RequireJS配置文件导入的:
import
编辑
完整错误:
const path = require("path");
module.exports = {
entry: {
app: './app/js/app/main.js'
},
output: {
path: path.resolve(__dirname, 'app/build'),
filename: 'main.js'
},
module: {
rules: [{
test: /\.js?$/,
exclude: /node_modules/,
loader: 'babel-loader',
query: {
presets: ['@babel/env']
}
}]
}
};
答案 0 :(得分:1)
似乎您有一些模块依赖性正在以一种奇怪的方式使用define
(不要使用标准的umd样板)。
您将必须找到问题的依赖项,然后在该lib的webpack配置中执行以下操作:
module: {
noParse: /node_modules\/json-schema\/lib\/validate\.js/
}
存在此问题的一些已知模块:set-getter
,jquery-migrate
,Dexie
webpack github页面上还有很多问题:
https://github.com/webpack/webpack/issues/138
https://github.com/webpack/webpack/issues/2958
https://github.com/doowb/set-getter/issues/1