javascript 将现有旧库转换为es6模块

wqsoz72f  于 2023-01-08  发布在  Java
关注(0)|答案(1)|浏览(168)

注:这是以下内容的延续:Convert old JavaScript code into ES6 module..解决了OP问题,但未提供答案。
现在所有的现代浏览器都包含原生的es6模块(除了chrome,我们希望它很快就能登陆),问题是如何利用这种原生的支持将现有的库转换成es6模块。
这适用于当前使用 no transpiling的项目(webpack、babel、system.js等),但这些项目依赖于遗留代码。
现有的工作流工具是否支持将旧的库转换/ Package 成es6可导入的?我真的希望避免在页面的html中使用<script>标签。

bpzcxfmw

bpzcxfmw1#

您可以使用Lebab将文件从es5批量转换为es6。

    • Lebab**将您的ES5代码转换为ES6/ES7。

它的作用与Babel完全相反。
网站坏了,但我找到了他们网站的源代码,并从一个分叉重新部署了它,这样你就可以在将其应用到潜在的重要文件之前看到它的作用...

第一次

安装

使用npm安装:

$ npm install -g lebab

用法

使用lebab cli工具转换老式代码,启用特定转换:

$ lebab es5.js -o es6.js --transform let

或者就地转换整个文件目录:

# .js files only
$ lebab --replace src/js/ --transform arrow
# For other file extensions, use explicit globbing
$ lebab --replace 'src/js/**/*.jsx' --transform arrow

我的个人工作流程如下

npm i lebab -g

安全:

lebab --replace ./ --transform arrow
 lebab --replace ./ --transform arrow-return
 lebab --replace ./ --transform for-of
 lebab --replace ./ --transform for-each
 lebab --replace ./ --transform arg-rest
 lebab --replace ./ --transform arg-spread
 lebab --replace ./ --transform obj-method
 lebab --replace ./ --transform obj-shorthand
 lebab --replace ./ --transform multi-var

所有人:

lebab --replace ./ --transform obj-method
lebab --replace ./ --transform class
lebab --replace ./ --transform arrow
lebab --replace ./ --transform let
lebab --replace ./ --transform arg-spread
lebab --replace ./ --transform arg-rest
lebab --replace ./ --transform for-each
lebab --replace ./ --transform for-of
lebab --replace ./ --transform commonjs 
lebab --replace ./ --transform exponent
lebab --replace ./ --transform multi-var
lebab --replace ./ --transform template
lebab --replace ./ --transform default-param
lebab --replace ./ --transform  destruct-param 
lebab --replace ./ --transform includes
lebab --replace ./ --transform obj-method
lebab --replace ./ --transform class
lebab --replace ./ --transform arrow
lebab --replace ./ --transform arg-spread
lebab --replace ./ --transform arg-rest
lebab --replace ./ --transform for-each
lebab --replace ./ --transform for-of
lebab --replace ./ --transform commonjs 
lebab --replace ./ --transform exponent
lebab --replace ./ --transform multi-var
lebab --replace ./ --transform template
lebab --replace ./ --transform default-param
lebab --replace ./ --transform  destruct-param 
lebab --replace ./ --transform includes

或者我使用vscode es5到es6转换器插件...

相关问题