繁体   English   中英

webpack:如何在node_modules中转换代码

[英]webpack: how to transpile code in node_modules

我想在我的使用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没有被编译呢?

构建设置:

webpack                   : ^4.40.2,
@babel/core               : ^7.4.0,
awesome-typescript-loader : ^5.2.1,

更新
这是一个webpack配置问题,其中node_modules从编译中排除。 骨架设置是由脚本创建的,我不好,我从来没有检查过。 bapack-loader的webpack.config.js中的以下内容可以有选择地编译所需的node_modules。 替换为所需的模块名称。

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

通过在项目中使用polyfills进行尝试,以下是脚本标记,可将其导入到index.html文件中<script src="https://cdn.polyfill.io/v3/polyfill.min.js"></script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM