babeljs - 无法使用 babel 转换代码 使用配置文件进行转换
问题描述
这是配置文件:
{
"presets": [
"@babel/preset-env"
],
"plugins": [
"@babel/plugin-transform-modules-commonjs"
]
}
这是命令:
npx babel src/* --out-dir build
CLI 输出是
src/script.js -> build\src\script.js
输出脚本文件与输入脚本文件相同。
这是 node.js 文件:
const babel = require('@babel/core');
const fs = require('fs');
fs.writeFileSync(
'build/index.js',
babel.transformFileSync(
'src/index.js',
{
plugins: ["@babel/plugin-transform-modules-commonjs"]
}
).code
);
输出脚本文件的内容是预期的。
我用这个作为输入:
const test = 0;
export default { test };
这是上面显示的 CLI 命令的输出。
const test = 0;
export default { test };
这是上面显示的 NodeJS 文件的输出(这是我预期的 CLI 输出)。
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var test = 0;
var _default = {
test: test
};
exports["default"] = _default;
问:你能用 babel CLI 来转换代码吗?
解决方案
我们在要转译的场景中使用了 babel-node。 https://babeljs.io/docs/en/next/babel-node.html
npx babel-node src/* --out-dir build
推荐阅读
- ansible - import_ansible plabook 并使用主剧本中的变量
- sql - SQL - 别名,SQL 命令未正确结束 - 第 2 行第 23 列出错
- xcode - Xcode PATH 环境变量
- capybara - Capybara 检查点击后类是否改变
- php - 如何使用 json 和数组向 php 发送和接收多变量
- google-apps-script - 根据另一个工作表中的值删除一行
- debugging - __debugbreak 和 int3 指令
- excel - 编译错误 For without Next - VBA 代码
- c# - 如何使用 Angular 中的公钥加密密码并使用 C# 中的私钥解密密码
- java - s3 presigned url 强制自定义请求标头