【问题标题】:Is there a way to make Webpack 2 ignore require (CommonJS) calls? To not transpile them?有没有办法让 Webpack 2 忽略 require (CommonJS) 调用?不转译它们?
【发布时间】:2017-01-23 22:12:47
【问题描述】:

我有代码

require(...)

我们可以让 Webpack 忽略它而不去触碰它,这样我就可以使用我的 Webpack 包中的运行时 RequireJS 了吗?

原因是因为我想在我的应用程序中使用 webpack 编译新代码,并允许它使用 RequireJS 来提取我的旧代码,这些代码已经是 requirejs 调用,带有一堆难以移植的 hack到现代模块。我只想在使用 Webpack 编写新代码时以旧方式导入它们。

我们怎样才能做到这一点?

【问题讨论】:

    标签: javascript webpack requirejs commonjs


    【解决方案1】:

    将您的新代码放在一个文件夹中,并将 webpack 指向它,或者相反,将您的旧代码放在一个文件夹中,或者将每个旧文件重命名为 file.legacy.js,然后使用 Ignore Plugin:

    var ignore = new webpack.IgnorePlugin(/legacy.js$/)
    
    module.exports = {
      //other options goes here
      plugins: [ignore]
    }
    

    【讨论】:

    • 我知道这会使 webpack 忽略这些文件,但这是否会使 Webpack 忽略 require('path/to/legacy.js') 调用并且不转译这些调用以使它们在最终包中保持完整?
    • @trusktr 是的。它们将保持原样
    • 亲爱的,我相信你的话。最终我的要求发生了变化,所以我暂时不会尝试它。
    • 哦,但是,不管需要哪个文件,都忽略所有 require 调用怎么样?
    猜你喜欢
    • 1970-01-01
    • 2015-12-24
    • 1970-01-01
    • 2016-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    相关资源
    最近更新 更多