安装 @babel/core @babel/cli @babel/preset-env 后依然提示 babel-node 不是内部外部命令的问题

前言

日常积累,欢迎指正

1、问题描述

使用 Nuxt.js 官网提供的 新手模板 做 vue SSR 时,该模板初始化不支持 ES Module 为了添加支持百度到的解决办法几乎都是使用 babel-node 解决,并且说 babel-node 是安装 babel-cli babel-core babel-preset-env 通过在命令中添加 --exec babel-node 即可的,如下:

注意 babel 版本

yarn add @babel/core @babel/cli  @babel/preset-env -D

package.json

{
  "scripts": {
    "dev": "cross-env NODE_ENV=development nodemon server/index.js --watch server --exec babel-node",
    "build": "nuxt build",
    "start": "cross-env NODE_ENV=production node server/index.js --exec babel-node",
    "generate": "nuxt generate",
    "test": "jest"
  }
}

.babelrc

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

但是我根据说明操作之后总是报错babel-node 不是内部外部命令

2、解决方法

是手动安装一个 babel-node

yarn add @babel/node -D

安装之后在执行即可解决问题也可以正常使用 ES6 语法,如 ES Module

但是这不是 node 与 babel 结合的最佳方案

3、最佳推荐

You should not be using babel-node in production. It is unnecessarily heavy, with high memory usage due to the cache being stored in memory. You will also always experience a startup performance penalty as the entire app needs to be compiled on the fly.Check out the example Node.js server with Babel for an idea of how to use Babel in a production deployment.

4、关于 @babel/node

@babel/node 与 @babel/core @babel/cli @babel/preset-env 的关系?
独立 babel/node 能做什么?
疑惑中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章