【问题标题】:webpack: how to transpile code in node_moduleswebpack:如何在 node_modules 中转换代码
【发布时间】:2020-01-17 23:21:39
【问题描述】:

我想在使用 Typescript 和 Webpack 转换为 ES5 的 Web 应用程序中导入 nano-memoize

  • npm install nano-memoize
  • import 'nano-memoize/browser/nano-memoize' 添加到源文件中。

这些步骤在 IE 11 中不起作用。页面根本无法加载。

在 IE 11 开发者控制台中检查 nano-memoize/browser/nano-memoize.js 的代码时,我注意到它使用了箭头函数。如果我将 nano-memoize/browser/nano-memoize.js 直接复制到我的源文件夹,它们会被转译为 ES5,并且一切都可以在 IE 11 中运行。

那么为什么 nano-memoize/browser/nano-memoize.js 没有被转译?

构建设置:

网络包:^4.40.2, @babel/核心:^7.4.0, 真棒打字稿加载器:^5.2.1,

更新
这是一个 webpack 配置问题,其中 node_modules 被排除在编译之外。骨架设置是由脚本创建的,我的错误是我从不检查这个。 webpack.config.js 中的以下内容用于 babel-loader 可以选择性地编译所需的 node_modules。替换为所需的模块名称。

{
  test: /\.js$/,
  exclude: function(modulePath) {
    return /node_modules/.test(modulePath) &&
        !/node_modules\/<MY_MODULE>/.test(modulePath);
  }
}

【问题讨论】:

    标签: javascript webpack babeljs


    【解决方案1】:

    在你的项目中尝试使用 polyfills,下面是要在你的 index.html 文件中导入的脚本标签 &lt;script src="https://cdn.polyfill.io/v3/polyfill.min.js"&gt;&lt;/script&gt;

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 2019-03-29
    相关资源
    最近更新 更多