【问题标题】:babel-cli transform only files with specific extensionbabel-cli 仅转换具有特定扩展名的文件
【发布时间】:2016-02-11 06:58:23
【问题描述】:

目前我正在使用 babel 通过 npm run script 转译我的 JSX 视图:

{
  "scripts": {
    "prestart": "npm run transpile-views",
    "start": "node ./src",
    "transpile-views": "babel ./src/views --out-dir ./src/views",
    "lint": "eslint src",
  }
}

我使用相同的目录 (src/views) 作为输入和输出目录,将 .jsx 文件转换为 .js。但是当目录中已经有转译文件并再次运行npm run transpile-views babel 时,将所有.jsx.js 文件拿走。

> my-project@1.0.0 transpile-views ~/Projects/my-project
> babel ./src/views --out-dir ./src/views

srcviews/AuthView.js -> src/views/AuthView.js
src/views/AuthView.jsx -> src/views/AuthView.js
src/views/HomeView.js -> src/views/HomeView.js
src/views/HomeView.jsx -> src/views/HomeView.js
src/views/MainLayout.js -> src/views/MainLayout.js
src/views/MainLayout.jsx -> src/views/MainLayout.js

有没有办法指定输入文件的扩展名?

【问题讨论】:

    标签: javascript babeljs


    【解决方案1】:

    Babel 有选项 -x 或 --extensions,你可以指定:

    babel ./src/views -x ".jsx" --out-dir ./src/views
    

    https://babeljs.io/docs/usage/cli/

    【讨论】:

    • 对不起,我忘了提,我试过了,但是输出在./src/views/src/views中创建了一个文件夹
    • 什么都没做,也试过"transpile-views": "babel ./src/views -x '*.jsx' --out-dir ./src/views",
    • 这很奇怪,node_modules\.bin\babel ./src/views -x ".jsx" --out-dir ./src/views 效果很好。
    • 好的,我知道了,package.json 中必须是"transpile-views": "babel ./src/views -x \".jsx\" --out-dir ./src/views"
    • 如何使用 babel 转译多个不同扩展名的文件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 2013-05-03
    • 2020-06-06
    • 2011-02-14
    • 1970-01-01
    • 2016-04-26
    相关资源
    最近更新 更多