我正在使用 Babel 7 + Typescript 运行一个新项目。我正在学习 Typescript,将两者结合起来是一个很大的挑战。我设法做到了,但我仍然有一个问题。
当我编译我的项目时,所有 .ts 文件./src/都被转换为 .js 文件./dist/。所有点文件都被忽略,这是预期的。但是,所有没有 .ts 扩展名的./src/文件也会被忽略。
以下是我尝试过的许多命令中的一些:
// package.json
"scripts": {
// build1 compiles only the .js files
"build1": "babel src --out-dir dist",
// build2 compiles only the .ts files
"build2": "babel src --out-dir dist --extensions \".ts\"",
//build 3 compiles only the .ts files
"build3": "babel src --out-dir dist --extensions \".ts, .js\"",
//build 4 compiles only the .js files
"build4": "babel src --out-dir dist --extensions \".js, .ts\""
},
Run Code Online (Sandbox Code Playgroud)
这是我的 babel 配置文件
// babel.config.js
module.exports = {
presets: [
"@babel/env",
"@babel/typescript",
],
plugins: [
"transform-dynamic-import",
"@babel/proposal-class-properties",
"@babel/proposal-object-rest-spread"
],
};
Run Code Online (Sandbox Code Playgroud)
任何的想法?
非常感谢!
更新:从 --extension 参数中删除空格有效,但现在我有一个我以前没有观察到的副作用。运行命令时"babel src --out-dir dist --extensions \".ts,.js,.json\"",我发现 .json 文件存在问题,这些文件也转换为 .js。我希望 babel 将 .ts 转换为 .js,编译 .js 文件并按原样复制任何其他文件。
小智 7
我终于找到了解决方案。我必须在命令中添加 --copy-files 参数。
babel src --out-dir dist --extensions \".ts,.js\" --copy-files
--extensions \".ts,.js\" 告诉 babel 编译所有 .ts 和 .js 文件。
--copy-files 告诉 babel 复制所有其他文件。
| 归档时间: |
|
| 查看次数: |
2343 次 |
| 最近记录: |