Javascript Babel文件被复制而不被转换

Javascript Babel文件被复制而不被转换,javascript,babeljs,Javascript,Babeljs,我有以下代码: "use strict"; import browserSync from "browser-sync"; import httpProxy from "http-proxy"; let proxy = httpProxy.createProxyServer({}); 我已经通过npm在全球范围内安装了babel core和babel cli。问题是,当我试图在终端上使用此命令进行编译时: babel proxy.js --out-file proxified.js 输出

我有以下代码:

"use strict";

import browserSync from "browser-sync";
import httpProxy from "http-proxy";

let proxy = httpProxy.createProxyServer({});
我已经通过npm在全球范围内安装了
babel core
babel cli
。问题是,当我试图在终端上使用此命令进行编译时:

babel proxy.js --out-file proxified.js
输出文件被复制而不是编译(我的意思是,它与源文件相同)


我在这里遗漏了什么?

巴贝尔是一个转换框架。在6.x之前,默认情况下它启用了某些转换,但是随着节点版本(本机支持许多ES6功能)的使用增加,配置变得更加重要。默认情况下,Babel6.x不执行任何转换。您需要告诉它要运行哪些转换:

npm install babel-preset-env

babel --presets env proxy.js --out-file proxified.js
或者创建一个
.babelrc
文件,其中包含

{
    "presets": [
        "env"
    ]
}
像以前一样运行它

env
在本例中是一个预设,基本上说是将所有标准ES*行为编译为ES5。如果使用支持ES6的节点版本,则可能需要考虑执行< /P>
{
    "presets": [
        ["env", { "targets": { "node": "true" } }],
    ]
}

告诉预设仅处理节点版本不支持的内容。如果需要浏览器支持,您还可以在目标中包含浏览器版本。

Babel是一个转换框架。在6.x之前,默认情况下它启用了某些转换,但是随着节点版本(本机支持许多ES6功能)的使用增加,配置变得更加重要。默认情况下,Babel6.x不执行任何转换。您需要告诉它要运行哪些转换:

npm install babel-preset-env
npm install --save-dev babel-preset-node5

npm install --save-dev babel-preset-react

babel --presets env proxy.js --out-file proxified.js
或者创建一个
.babelrc
文件,其中包含

{
    "presets": [
        "env"
    ]
}
像以前一样运行它

env
在本例中是一个预设,基本上说是将所有标准ES*行为编译为ES5。如果使用支持ES6的节点版本,则可能需要考虑执行< /P>
{
    "presets": [
        ["env", { "targets": { "node": "true" } }],
    ]
}
告诉预设仅处理节点版本不支持的内容。如果需要浏览器支持,还可以在目标中包括浏览器版本

npm install --save-dev babel-preset-node5

npm install --save-dev babel-preset-react
…然后使用预设创建一个
.babelrc

{
  "presets": [
    "node5",
    "react"
  ]
}
…用babel
3.8.6
和node
v5.10.1
解决了一个非常类似的问题


…然后使用预设创建一个
.babelrc

{
  "presets": [
    "node5",
    "react"
  ]
}
…用babel
3.8.6
和node
v5.10.1
解决了一个非常类似的问题



我有相同的问题,但原因不同:

我试图加载的代码不在包目录下,Babel默认不在包目录外传输


我通过移动导入的代码解决了这个问题,但也许我也可以在Babel配置中使用一些包含语句。

我遇到了相同的问题,但原因不同:

我试图加载的代码不在包目录下,Babel默认不在包目录外传输


我通过移动导入的代码解决了这个问题,但也许我还可以在Babel配置中使用一些包含语句。

首先确保您具有以下
节点模块:

npm i-D网页包babel core babel-preset-es2015 babel-preset-stage-2 babel loader

接下来,将其添加到您的Webpack配置文件(
Webpack.config.js
):

参考资料:


祝你好运

首先确保您有以下
节点模块

npm i-D网页包babel core babel-preset-es2015 babel-preset-stage-2 babel loader

接下来,将其添加到您的Webpack配置文件(
Webpack.config.js
):

参考资料:


祝你好运

相同的错误,不同的原因:

传输以前是有效的,然后突然停止工作,文件只是按原样复制


原来我在某个时候打开了
.babelrc
,Windows决定将
.txt
附加到文件名中。现在,巴贝尔无法识别
.babelrc.txt
。删除
.txt
后缀修复了该问题。

相同错误,不同原因:

传输以前是有效的,然后突然停止工作,文件只是按原样复制

原来我在某个时候打开了
.babelrc
,Windows决定将
.txt
附加到文件名中。现在,巴贝尔无法识别
.babelrc.txt
。删除
.txt
后缀修复了这个问题。

修复你的.lrc

{
  "presets": [
    "react",
    "ES2015"
  ]
}
修好你的车

{
  "presets": [
    "react",
    "ES2015"
  ]
}

2018年:

如果尚未安装以下软件包,请安装:

npm install babel-loader babel-preset-react
webpack.config.js

{
    test: /\.jsx?$/,
    exclude: /node_modules/,
    use: [
      {
        loader: 'babel-loader',
        options: {
          presets: ['es2015','react']  // <--- !`react` must be part of presets!
        }
      }
    ],
  }
{
测试:/\.jsx?$/,,
排除:/node_模块/,
使用:[
{
加载器:“巴别塔加载器”,
选项:{

预设值:[es2015','react']/2018年:

如果尚未安装以下软件包,请安装:

npm install babel-loader babel-preset-react
webpack.config.js

{
    test: /\.jsx?$/,
    exclude: /node_modules/,
    use: [
      {
        loader: 'babel-loader',
        options: {
          presets: ['es2015','react']  // <--- !`react` must be part of presets!
        }
      }
    ],
  }
{
测试:/\.jsx?$/,,
排除:/node_模块/,
使用:[
{
加载器:“巴别塔加载器”,
选项:{

预设:['es2015','react']/最终解决方案

我在这上面浪费了3天

import react from 'react' unexpected identifier
我试图修改
webpack.config.js
package.json
文件,添加
.babelrc
,通过
npm
安装和更新软件包,我访问了很多很多页面,但都没有任何效果


什么有效?两个词:npm开始。没错

运行

npm start 
命令启动本地服务器

(请注意,它可能不会立即起作用,但可能只有在您对npm做了一些工作之后才能起作用,因为在尝试此操作之前,我已删除了这些文件中的所有更改,并且它起作用,因此在您真正完成后,将其视为您的最后手段


我在上找到了那个信息,在波利