配置 webpack 以忽略 define 语句

Posted

技术标签:

【中文标题】配置 webpack 以忽略 define 语句【英文标题】:Configure webpack to ignore define statement 【发布时间】:2015-11-06 11:22:46 【问题描述】:

如何配置 webpack 以忽略文件中的 amd 'define' 语句,就像我可以使用带有外部选项的 'require' 一样?

【问题讨论】:

【参考方案1】:

官方是recommended将define设置为false,imports-loader

loaders: [
   test: /\.js/, loader: 'imports?define=>false'
]

但只有在 define 以 UMD 样式调用时才有用 - 如下所示:

if (typeof define === 'function' && define.amd) 
  define([], factory)

如果您可以更改调用 define 的代码并且没有 UMD 的 if 这对我有用:

var define = window['infor']; // keep webpack out of way

// use define from global scope (requirejs or other used loader) as needed
define('mymodule', ['dep1'], function (dep1) 
  return 
);

【讨论】:

【参考方案2】:

如此处所述:https://github.com/webpack/webpack/issues/3017#issuecomment-285954512

你可以这样做:

module: 
  rules: [
     parser:  amd: false  
  ]

【讨论】:

以上是关于配置 webpack 以忽略 define 语句的主要内容,如果未能解决你的问题,请参考以下文章

忽略 Webpack 中的特定 require()?

Webpack 文件加载器忽略 PNG 文件

关于vue,webpack 中 “exports is not defined”报错

Webpack 在目标节点时忽略代码拆分

webpack构建Vue项目引入jQ时发生“'$' is defined but never used”的处理

c语言中#if defined是啥含义 怎么用