[译]使用Babel7+nodemon打造你的Node.js项目开发

    

   

原文地址:Using babel7 with node(https://hackernoon.com/using-babel-7-with-node-7e401bc28b04)
原文作者:Will Willems
译者:Bangood复制代码

    想在你的Node.js项目中使用最新的js语法吗?想让你的项目具备热更新能力吗?本文的目标就是让你能够搭建起这样的一个基本项目。


    大家之前可能用过babel的其他低版本,但是今天我们使用的babel7和其他低版本有一些不同之处。

   1.Babel7的相关包都挂在了@babel域下。比如之前的babel-cli包现在更名为@babel/cli

   2.@babel/preset-env囊括了以前所有以年份命名的presets的功能。

   3.babel-node从CLI中提取出来成了一个独立的包:@babel/node

   想了解更多的关于babel7的变化的,可以到官网查看。

   设置node项目结构

   我们先打开我们的命令行终端工具:windows下,win+R,输入cmd,回车,进入命令行工具。

   创建我们的项目文件夹:mkdir my-project

   切换到项目文件夹:cd my-project

   我们用Git管理我们的项目,所以,我们执行一下:git init 命令。

   执行npm init初始化我们的项目,会自动生成一个package.json文件。

   我们再在当前目录下创建两个文件夹:dist和src。这是我们的项目结构如下:

  my-project
    |--dist
    |--src
    |--package.json
复制代码

   让我们现在src目录下创建一个我们整个项目的入口文件server.js

my-project
    |--dist
    |--src
    |  |--server.js
    |--package.json复制代码

    要在我们的项目中使用babel7,我们执行npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/node. 

  为了告诉babel如何使用@babel/preset-env包,我们需要在我们项目的根目录下创建文件:.babelrc

// .babelrc
{  
"presets": ["@babel/preset-env"]
}复制代码

    在编写调试Node.js项目,修改代码后,需要频繁的手动close掉,然后再重新启动,非常繁琐。现在,我们可以通过npm install --save-dev nodemon,在我们的项目中引入nodemon这个工具,它的作用是监听代码文件的变动,当代码改变之后,自动重启。

   到目前为止,我们的项目结构如下:

  

 my-project    
    |--dist
    |--node_modules
    |--src
    |  |--server.js
    |--package.json
    |--.babelrc
复制代码

    添加scripts到package.json

    在最后,我们添加一些npm命令到我们的package.json文件。

  • 添加start命令 :nodemon --exec babel-node src/server.js 。这个命令是告诉nodemon去监听文件的变化,一旦检测到有文件发生了变化,就会重启并用babel-node去运行src/server.js文件。这个命令一般用于本地开发。
  • 添加build命令:babel src --out-dir dist。这个命令是告诉babel去编译src里的源文件,并将得到的结果输出到dist
  • 添加serve命令:node dist/server.js。这个命令是让我们用node运行我们编译好的文件。可能有人会问,为什么我们不直接用nodemon去运行我们的程序呢?这是因为相较于node,使用nodemon运行我们的程序会使用更多的内存,花费更多的启动时间。
    当我们添加了以上三个命令后, package.json里的内容就和下面的类似了:

   

 {  
    "name": "my-project",
    "version": "1.0.0",
    "description": "",  
    "main": "src/server.js",
    "scripts": {    
        "start": "nodemon --exec babel-node src/server.js",    
        "build": "babel src --out-dir dist",    
        "serve": "node dist/server.js"  
     },  
    "author": "",  
    "license": "MIT",  
    "dependencies": {  },  
    "devDependencies": {    
        "@babel/cli": "7.4.3",    
        "@babel/core": "7.4.3",    
        "@babel/node": "7.2.2",    
        "@babel/preset-env": "7.4.3",    
        "nodemon": "1.18.11"  
      }}复制代码



转载于:https://juejin.im/post/5cbe734ff265da036b4a649c

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值