有没有办法禁用AMDPlugin?

Wik*_*lik 17 webpack

Webpack默认包含AMDPlugin,因此如果模块在CommonJS之前检查AMD,则将使用该模块定义.

if (typeof define === 'function' && define.amd) {
  define([], factory)
} else if (typeof exports === 'object') {
  exports.foo = factory();
}
Run Code Online (Sandbox Code Playgroud)

我想完全忽略AMD.有没有办法在webpack中做到这一点?

kuc*_*ova 19

它可以用import-loader解决

在使用CommonJS之前,有许多模块检查define函数.由于webpack能够兼顾两者,因此在这种情况下它们默认为AMD,如果实现是古怪的,这可能是一个问题.然后,您可以通过编写轻松禁用AMD路径

imports?define=>false

简单地做

require('imports?define=>false!myjsfile.js')
Run Code Online (Sandbox Code Playgroud)

或者 更好的方法是在webpack.config.js中添加一个加载器

loaders: [ { test: /myjsfile.js/, loader: 'imports?define=>false'} ]
Run Code Online (Sandbox Code Playgroud)