@balena/es-version (英语)
本模块允许指定目标 es 版本供其他模块需要,目前支持的目标版本:
- es3( 默认)
- 编号5
- 页:1
- 2016年时
- 2017年统计
- 第2018号
- 编号2019
- es2020 (中文(简体) )
- 编号2021
- 编号2022
- 下一个
用作客户端
- 添加 @ balena/ es- version 到您的软件包。 json with a
^版本规格, eg
"@balena/es-version": "^1.0.0",
注意:如果使用锁定的依赖, eg package-lock.json/npm-shrinkwrap.json/etc, 然后确保同时去除模块, 这样模块的同一种实例会被用到任何地方 .
- 在您的模块中,它需要先于其他任何条件,并设定想要的版本:
// Must be set before the first require of an @balena/es-version supporting module
require('@balena/es-version').set('es5');
然后任何支持选择目标版本的模块都将使用最接近的匹配版本,优先级为:
- 准确匹配
- 在想要的版本下最接近匹配
- 最低支持版本
作为模块提供者的使用
- 添加 @ balena/ es- version 到您的软件包。 json with a
^版本规格, eg
"@balena/es-version": "^1.0.0",
- 生成用于您想要支持的 es 版本, 以及您将要创建的 shim 的类型, 例如
"build-es5": "tsc --target es5 --outDir es5",
"build-es2015": "tsc --target es2015 --outDir es2015",
"build-es2018": "tsc --target es2018 --outDir es2018",
"build-types": "tsc --emitDeclarationOnly --outDir .",
"build": "npm run build-es5 && npm run build-es2015 && npm run build-es2018 && npm run build-types",
- 创建 shim 以作为您要装入想要的版本的入口, eg
// First get the es version to use:
var esVersion = require('@balena/es-version').get(['es5', 'es2015', 'es2018');
// Then include/return the correct version of your module, eg
module.exports = module.exports = require('./' + esVersion);
说明: 这必须与您最低支持的 es 版本兼容
- 指向你的包裹。 Json 到新的shim和类型, eg
"main": "index.js",
"types": "index.d.ts",
- 还建议在您的软件包中添加一个"浏览器"条目来支持默认配置的浏览器捆绑器, eg
"browser": "es5"