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" } }],
]
}
告诉预设仅处理节点版本不支持的内容。如果需要浏览器支持,还可以在目标中包括浏览器版本
npm install --save-dev babel-preset-node5
npm install --save-dev babel-preset-react
…然后使用预设创建一个.babelrc
:
{
"presets": [
"node5",
"react"
]
}
…用babel3.8.6
和nodev5.10.1
解决了一个非常类似的问题
我有相同的问题,但原因不同: 我试图加载的代码不在包目录下,Babel默认不在包目录外传输
我通过移动导入的代码解决了这个问题,但也许我还可以在Babel配置中使用一些包含语句。首先确保您具有以下
节点模块:
npm i-D网页包babel core babel-preset-es2015 babel-preset-stage-2 babel loader
接下来,将其添加到您的Webpack配置文件(Webpack.config.js
):
参考资料:
祝你好运 相同的错误,不同的原因:
传输以前是有效的,然后突然停止工作,文件只是按原样复制
原来我在某个时候打开了.babelrc
,Windows决定将.txt
附加到文件名中。现在,巴贝尔无法识别.babelrc.txt
。删除.txt
后缀修复了这个问题。修复你的.lrc
{
"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']/最终解决方案
我在这上面浪费了3天
import react from 'react' unexpected identifier
我试图修改webpack.config.js
和package.json
文件,添加.babelrc
,通过npm
安装和更新软件包,我访问了很多很多页面,但都没有任何效果
什么有效?两个词:npm开始。没错
运行
npm start
命令启动本地服务器
(请注意,它可能不会立即起作用,但可能只有在您对npm做了一些工作之后才能起作用,因为在尝试此操作之前,我已删除了这些文件中的所有更改,并且它起作用,因此在您真正完成后,将其视为您的最后手段)
我在上找到了这些信息。它是波兰语的,但可以在上面随意使用谷歌翻译。这些答案大部分都是过时的。@babel/preset env
和“@babel/preset react
是您需要的(从2019年7月起)。从2020年1月起:
步骤1:安装巴别塔预设装置
:
纱线添加-D@babel/preset env@babel/preset react
步骤2:创建一个文件:babelrc.js
并添加预设值
:
module.exports={
// ...
预设:[“@babel/preset env”,“@babel/preset react”],
// ...
}
步骤3:-安装巴别塔加载器
:
纱线添加-D巴别塔加载器
步骤4:-在webpack.config.js
中添加加载程序配置:
{
//...
模块:[
规则:[
测试:/\(js | mjs | jsx | ts | tsx)$/,
加载器:require.resolve('babel-loader')
]
]
//...
}
祝你好运……让变为var
但import
语句仍然存在吗?对于较新版本的react,请使用新的babel模块:。它有更好的错误消息并支持react的新功能。这很有用。他们为什么不将其放在文档中?安装babel preset globall安全吗y?@kidcapital文档中确实包含了这一点,但似乎只是作为旁注。我花了很多时间试图弄清楚如何在babel 6.0首次发布时正确配置它。这篇文章的要点已经作为信息框添加到了安装页面中。这是一个非常小的改进,但你必须从某个地方开始!谢谢Logan。c创新多于配置…所以开箱即用的Babel什么都不做-只是复制文件?请提出一个新问题,其中包含有关您的设置的所有信息,以便有人可以回答。您能详细说明一下吗?我的前端代码也不在“包目录”下,工作正常。我的服务器代码包含“导入”“但是babel cli没有解决这些问题……嗯,不确定要详细说明什么?babel没有传输。试着查看所有babel配置的源代码……我试图解决的问题是,我的服务器文件被组织在几个文件夹中:我有servers.js,然后是/api/…东西……当我从内存运行时,每个“导入”或“需要”当我从命令行运行babel时,我只输出一个文件,但不解析相对导入,所以我不能用它来运行我的服务器。。。
npm start