未捕获的错误:不能间接使用定义

Posted

技术标签:

【中文标题】未捕获的错误:不能间接使用定义【英文标题】:Uncaught Error: define cannot be used indirect 【发布时间】:2016-07-06 10:39:41 【问题描述】:

我正在使用 webpack 和 babel 在我正在制作的 node express React 应用程序中转换我的 es6/jsx 文件。在我包含 google spreadsheet npm 模块并尝试将其导入我的项目之前,一切都很好。

我收到错误Uncaught Error: define cannot be used indirect,但导入的模块中没有定义语句。当 webpack 打包我的文件时,这个错误只显示在浏览器中,而不是我的控制台中,并且完全停止在页面上呈现任何内容。

我认为这与 AMD/Commonjs 有关,但我太缺乏经验,无法确定,或者如果是这种情况该怎么办。任何帮助将不胜感激

【问题讨论】:

Google 电子表格导入 async ( github.com/theoephraim/node-google-spreadsheet/blob/master/… ),而后者又使用 define ( github.com/caolan/async/blob/… ) 解决方法:在node_modules/async/async.js评论此行 @BobSponge 注释掉哪一行? github.com/caolan/async/blob/… 谢谢@BobSponge,很遗憾没用。仍然有同样的错误,这个帖子似乎帮助了很多人:github.com/webpack/webpack/issues/138不是我,但不幸的是 【参考方案1】:

只是在黑暗中拍摄,但我在不同的库中遇到了同样的错误。谷歌电子表格也可能依赖于 json-schema。 试着把它放在你的 webpack 配置中:

module: 
  noParse: /node_modules\/json-schema\/lib\/validate\.js/, // <-- This
  loaders: [
    //all your loaders...
   ]
  

【讨论】:

以上是关于未捕获的错误:不能间接使用定义的主要内容,如果未能解决你的问题,请参考以下文章