vaadin - 为 Vaadin Flow 14.2(或 16)应用程序的生产版本禁用 ES5 转译
问题描述
Vaadin 团队的这篇博客文章有一个部分,跳过 ES5 转译以加快开发模式前端构建。(我假设ES5表示 EcmaScript 5,即 JavaScript 5。)
该部分提到,虽然 ES5 转译在开发模式下不再默认完成,但在生产模式下仍默认完成。去引用:
从 14.2 开始,在开发模式下默认不会将 JavaScript 代码转换为 ES5(IE11 需要),但如果需要,您仍然可以通过配置启用它。对于具有 build-frontend 目标的生产构建,它仍然默认完成。
➥ 如何在开发模式和生产模式下完全关闭 ES5 转译?
我只会部署到现代浏览器,而不是 Internet Explorer 或第一代 Microsoft Edge。所以不需要 ES5 支持。
解决方案
对于 14.1,没有像 14.2 那样的标志,但对于 14.1,您可以添加到 webpack.config.js
/**
* This file has been autogenerated as it didn't exist or was made for an older incompatible version.
* This file can be used for manual configuration will not be modified if the flowDefaults constant exists.
*/
const merge = require('webpack-merge');
const flowDefaults = require('./webpack.generated.js');
flowDefaults.module.rules.splice(0,1);
flowDefaults.plugins.splice(1,1);
module.exports = merge(flowDefaults, {
});
这将删除 Babel 转译规则和插件。
这似乎也适用于 14.2.0.beta1,但提出请求以禁用转译可能是值得的。
推荐阅读
- c# - WPF DataGrid 和 IAsyncEnumerable 项
- php - php中的错误顺序回显
- reactjs - 重新渲染一个组件,它是反应中表格行的一部分
- android - 我无法在 android 中使用 kotlin 在 sqlite 中创建第二个表
- python - 打印下线并自动不断更新
- javascript - 如何拥有 req、res 并传递其他变量?(NodeJS,快递)
- mysql - 执行 Git 拉取后,什么可能导致 MYSQL 表值更改为 NULL?
- node.js - Sequelize 不在数据库上注册模型
- reactjs - 在页面之间移动而不会丢失页面内容 - React JS
- node.js - 我可以使用 child_process 来“监听”特定的输出吗?