我想在使用Typescript和Webpack转换为ES5的Web应用程序中导入nano-memoize。
npm install nano-memoize
import 'nano-memoize/browser/nano-memoize'
添加到源文件中。这些步骤在IE 11中不起作用。该页面根本无法加载。
在IE 11开发人员控制台中检查nano-momoize / 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);
}
}
答案 0 :(得分:0)
在您的项目中使用polyfills尝试一下,下面是要导入到index.html文件中的脚本标记
<script src="https://cdn.polyfill.io/v3/polyfill.min.js"></script>