【问题标题】:webpack browserify --ignore equivalent?webpack browserify --ignore 等价物?
【发布时间】:2017-06-11 22:00:11
【问题描述】:

我有一些代码在浏览器中不起作用,除非我“忽略”两个包,我可以用 browserify 很好地做到这一点:browserify files.js -i fs-extra -i request --standalone files > files.browserify.js,生成的代码可以正常工作,但如果我尝试用 webpack 来做代码抱怨缺少模块。

...
  plugins: [
      new webpack.IgnorePlugin(/fs-extra$/),
      new webpack.IgnorePlugin(/request$/),
      new webpack.IgnorePlugin(/fs$/)
  ],
...

test.webpack.js:7655 Uncaught Error: Cannot find module "request"
    at webpackMissingModule (test.webpack.js:7655)
    at Object.exports.byteLength (test.webpack.js:7655)
    at __webpack_require__ (test.webpack.js:20)
    at Object.<anonymous> (test.webpack.js:17012)
    at __webpack_require__ (test.webpack.js:20)
    at test.webpack.js:66
    at test.webpack.js:69

我怀疑 webpack 可能不会像 browserify 那样创建“空存根”:--ignore, -i Replace a file with an empty stub. Files can be globs.

我能做些什么来解决这个问题?

资源

【问题讨论】:

  • 我投了赞成票,因为我遇到了类似的问题。但我注意到,错误消息指的是 require 未定义。这听起来像是一种不同的蠕虫。
  • @Boldewyn 啊,错误消息,我已经更新了帖子,require 错误消息是在我尝试使用目标:'node',目标:'web'等时出现的,它现在指的是Cannot find module "request"

标签: javascript node.js npm webpack browserify


【解决方案1】:

您正在寻找的是null-loader,它返回一个空模块:

module: {
    loaders: [
        {
            test: /^(fs-extra|fs|request)$/,
            loader: "null"
        },
        ...
]

安装:

$ npm i -D null-loader

【讨论】:

  • 在 Webpack 2 中:将 loaders 替换为 rules,并将 null-loader 替换为 null
猜你喜欢
  • 2021-08-06
  • 2017-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-06
  • 2023-03-05
  • 2015-08-10
相关资源
最近更新 更多