[Module开发报错解决记录]Couldn‘t find preset “@babel/env“ relative to directory

今天写前端项目的时候需要用到Module语法进行开发,而在测试的时候,因为前端测试方式十分麻烦,因此采用Nodejs方式进行Module语法测试,但Nodejs采用的是Commonjs的模块化规范,使用require引入模块;而import是ES6的模块化规范关键字。因此想要使用import,必须引入Babel转义支持,通过Babel进行编译,使其变成node的模块化代码。但是在配置完Babel开始测试的时候,在vs code终端输入“babel-node --presets env index.js”命令却出现报错,错误显示Couldn't find preset "@babel/env" relative to directory,于是一脸懵逼,在网上也找了好久,但发现相关的文章很少,也不能解决我遇到问题,搞得我差点都想放弃了,不过在我坚持不懈的不断尝试下,总算是把这个问题给解决了,瞬间心情舒畅😋,所以在学习技术的这条路上,还是得持之以恒,不能半途而废,遇到困难时再坚持一下,说不定就马上迎来转机,这种“山穷水尽疑无路,柳暗花明又一村”的心情相信各位读者都经历过吧,于是我就据此浅浅的记录一下,希望能帮到遇到和我同样问题正在苦苦寻找解决方法的读者。具体步骤如下。

 一、Babel安装流程

       如果还没安装Babel的话,需要先对Babel进行一个安装,其具体安装流程如下。

1、安装babel

       npm install --save-dev @babel/core

       这里需要注意的是,Babel要安装到项目的根目录下,以vs code为例,鼠标右键项目,选择在集成终端打开,输入以下命令即可。

npm install --save-dev @babel/core

2、配置文件

        Babel的配置文件是.babelrc,也是存放在项目的根目录下。使用Babel的第一步就是要配置这个文件。该文件是用来设置转码规则和插件,其基本格式如下。

{
    "presets": [],
    "plugins": []
}

3、 转码规则

        presets字段用来设定转码规则,官方提供以下的规则集,可以根据需要安装。

npm install --save-dev @babel/preset-env

 4、将规则加入.babelrc

        值得注意的是,后面的问题就是出在这里!😥

{
    "presets": [
        "@babel/env"
    ],
    "plugins": []
}

5、Babel命令行转码

        Babel提供命令行工具@babel/cli,用于命令行转码。

npm install --save-dev @babel/cli

        到这里Babel的安装已经基本完成啦。

二、采用Nodejs测试Module语法

        接下来就是如何通过Nodejs来测试Module语法,其步骤如下。

1、全局安装babel-cli

        注意是全局安装,windows + r建打开cmd,输入以下命令行完成全局安装。

npm install -g babel-cli

2、 安装babel-preset-env

        同样是在项目的根目录下通过以下命令行安装。

npm install -D babel-preset-env

3、运行代码

        其中index.js是你要使用Babel转义通过Nodejs测试的Module语法js文件。

babel-node --presets env index.js

        其中我的export测试js文件为hello.js,其中的js代码为。

export var Hello = "hello";

        我的import测试js文件为index.js,其中的js代码为。 

import { Hello } from './hello.js';
console.log(Hello);

        但当我通过“babel-node --presets env index.js”命令在终端测试运行的时候,却报出“Couldn't find preset "@babel/env" relative to directory”的错误,找了很久,试了很多次,才发现是.babelrc配置文件的问题,修改后便能成功测试运行了,修改后的配置如下。

{
    "presets": [
        "env"
        // "@babel/env"
        // "@babel/preset-env"
    ],
    "plugins": []
}

        可以看到,只需要单单一个“env”就可以了,测试运行结果也正常了。 

 好啦,以上就是本次记录,如果你也觉得有用的话,记得点赞收藏噢!

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值