【Deno】denon deno热重载框架

news/2025/1/16 0:07:48/

官网

https://deno.land/x/denon@2.5.0

简介

denon是 deno 中 nodemon 的替代品。denon会监视文件的改变,并自动重新启动程序,重新编译更改的源代码。

安装

⚠️ Make sure you are using deno version ^1.6.0 to install this executable. You can upgrade running deno upgrade.

deno版本需要在^1.6以上

deno.land源

deno install -qAf --unstable https://deno.land/x/denon/denon.ts

nest.land源

deno install -qAf --unstable https://x.nest.land/denon/denon.ts

环境变量

mac环境,在终端输入open -e ~/.bash_profile添加如下内容

# denon
export PATH="/Users/zhouwei/.deno/bin:$PATH"

检查命令是否可用, 能打印信息即成功

$ denon --version

使用

直接使用

$ denon run app.ts$ denon run --allow-env app.ts

配置文件

  1. 只是简单使用可以生成json配置文件
  2. 如果较复杂及灵活的配置建议使用.ts配置文件,可以添加环境变量及代码块操作

生成配置文件

// 生成json配置文件
denon --init// 生成.ts配置文件
denon --init typescript

配置文件内容如下:

 // scripts.json
{"$schema": "https://deno.land/x/denon@2.5.0/schema.json","scripts": {"start": {"cmd": "deno run day1/hello.ts","desc": "run my app.ts file"},"fileServer": {"cmd": "deno run day1/fileServer.ts","desc": "run my fileServer.ts file"}}
}
// scripts.config.ts
import { DenonConfig } from "https://deno.land/x/denon@2.5.0/mod.ts";const config: DenonConfig = {scripts: {start: {cmd: "deno run day1/hello.ts",desc: "run my app.ts file",},fileServer: {cmd: "deno run day1/fileServer.ts",desc: "run my fileServer.ts file",},},
};export default config;

执行脚本

$ denon start
$ denon fileServer

环境配置

// scripts.json
{"scripts": {"start": {"cmd": "deno run app.ts","desc": "Run the main server.","env": {"PORT": 3000}}}
}
// scripts.config.ts
import { DenonConfig } from "https://deno.land/x/denon@2.5.0/mod.ts";
import { config as env } from "https://deno.land/x/dotenv/mod.ts";const config: DenonConfig = {scripts: {start: {cmd: "deno run day1/hello.ts",desc: "run my app.ts file",},fileServer: {cmd: "deno run day1/fileServer.ts",desc: "run my fileServer.ts file",env: env()},},
};export default config;

权限配置

{"allow": {"read": "/etc,/tmp", // --allow-read=/etc,/tmp"env": true // --allow-env},"allow": ["run", // --allow-run"net" // --allow-net],"scripts": {"start": {"cmd": "deno run app.ts","desc": "Run the main server.",// available options..."allow": ["env", "write"],"unstable": true// running `denon start` will resolve in// deno run --allow-env --allow-write --unstable app.ts"watch": true}}
}
import { DenonConfig } from "https://deno.land/x/denon@2.5.0/mod.ts";
import { config as env } from "https://deno.land/x/dotenv@v3.2.2/mod.ts";const config: DenonConfig = {scripts: {start: {cmd: "deno run day1/hello.ts",desc: "run my app.ts file",},fileServer: {cmd: "deno run day1/fileServer.ts",desc: "run my fileServer.ts file",env: env(),allow: ["net", "read"],},},
};export default config;

http://www.ppmy.cn/news/334595.html

相关文章

离散数学编程作业:输出n元集合的所有划分或幂集元素

编程题目(二选一): 打印输出n元(n1,2,3,4,5,6)集合的所有划分。打印输出n元(n1,2,3,4,5,6)集合的幂集中的所有元素。 编程内容及要求(二选一): 编写程序&a…

【0基础自研记录】ESP32-CAM自制个人网络监控

目的:实现一个小型家庭监控 一、前期准备 1.硬件准备 esp32-acm烧录板烧录线 2.软件准备 Arduion IDE CH340串口驱动 下载地址如下 Arduion IDE:https://www.arduino.cc/en/software CH340串口驱动 链接:https://pan.baidu.com/s/1ri8dK7wW6KFz8rOPs…

win10笔记本电脑键盘没反应是哪个键锁了

原因一、部分字母打出来是数字,导致打不出 1 FnNUMLOCK切换法 我们先按住【Fn键】(Fn键一般在键盘的左下角),再按【Num Lk】(Num Lk一般在右上角,F11键的上面,当然不同的笔记本所在位置有所不同…

联想拯救者y7000键盘有几个按键失灵_y7000p键盘失灵

以联想拯救者y7000p为例,键盘失灵是系统有问题,联想笔记本都带着一键还原功能,只要没有重新安装过系统。一键还原按钮在笔记本左侧或者右侧,是一个很细的孔,进行还原系统即可。 键盘(Keyboard)是用于操作设备运行的一种…

兄弟mfc7220打印没反应_设备操作面板按键无反应

相关型号 DCP-110C, DCP-115C, DCP-120C, DCP-130C, DCP-145C, DCP-155C, DCP-165C, DCP-185C, DCP-330C, DCP-350C, DCP-385C, DCP-540CN, DCP-560CN, DCP-585CW, DCP-6690CW, DCP-7010, DCP-7025, DCP-7030, DCP-7040, DCP-7055, DCP-7057, DCP-7060D, DCP-8060, DCP-8070D, …

联想G40-30进win10PE触摸板、键盘无反应

联想G40-30进win10PE触摸板、键盘无反应 顾客要求重装系统,进入win10触摸板、键盘无反应,外接键盘、鼠标同样问题。直接原装win10安装进入安装界面后同样问题。排除usb口冲突、bios放电。后发现BIOS最后一项改win8os即可。

Win10系统联想笔记本wifi和蓝牙无法打开的解决方法

Win10系统联想笔记本wifi和蓝牙无法打开的解决方法 自己的win10系统联想笔记本电脑中的蓝牙和wifi突然出现了无法打开的情况。电脑任务栏的WLAN处显示红叉,可是打开设备管理器,检查无线网卡驱动(broadcom 802.11n 网络适配器)却安…

联想小新14Pro Ubuntu20.04 键盘失灵

设备配置: 联想小新14ProUbuntu 20.04.1 问题: 触控板良好键盘失灵 解决办法 可以通过外接USB键盘方法解决可以按照下面的操作来恢复触控板功能 需要知道的信息: sudo vi /etc/default/grub 使用该条命令可以配置grub界面信息 GRUB_TIME…