首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带bun dev的热重装(HMR)

带bun dev的热重装(HMR)
EN

Stack Overflow用户
提问于 2022-08-02 13:58:17
回答 2查看 730关注 0票数 1

我正在试用新的bun平台(v0.1.6)和霍诺

我遵循的步骤:

代码语言:javascript
复制
bun create hono test-api
cd test-api
bun dev

然后服务器显示以下消息:

代码语言:javascript
复制
$ bun dev
[1.00ms] bun!! v0.1.6


  Link: http://localhost:3000

当我修改任何文件时,服务器检测到它,然后重新加载应用程序,但是我不知道如何调用我的应用程序REST。

如果我执行:curl localhost:3000,响应是一个转置的JS代码:

代码语言:javascript
复制
import {
__require
} from "http://localhost:3000/bun:wrap";
import {
__HMRClient as Bun
} from "http://localhost:3000/bun:wrap";
Bun.activate(false);
import {
__HMRModule as HMR
} from "http://localhost:3000/bun:wrap";
import * as $9121e9 from "http://localhost:3000/node_modules/hono/dist/index.js";
var { Hono} = __require($9121e9);
var hmr = new HMR(2320229645, "src/index.ts"), exports = hmr.exports;
(hmr._load = function() {
  const app = new Hono;
  const port = parseInt(process.env.PORT) || 3000;
  const home = app.get("/", (c) => {
    return c.json({ message: "Hello World!" });
  });
  console.log(`Running at http://localhost:${port}`);
  var src_default = {
    port,
    fetch: home.fetch
  };
  hmr.exportAll({
    default: () => src_default
  });
})();
var $$hmr_default = hmr.exports.default;
hmr._update = function(exports) {
  $$hmr_default = exports.default;
};

export {
  $$hmr_default as default
};

//# sourceMappingURL=http://localhost:3000/.map

index.ts中最初生成的代码是:

代码语言:javascript
复制
import { Hono } from "hono";

const app = new Hono();

const port = parseInt(process.env.PORT) || 3000;

const home = app.get("/", (c) => {
  return c.json({ message: "Hello World!" });
});

console.log(`Running at http://localhost:${port}`);

export default {
  port,
  fetch: home.fetch,
};

我没有在bun dev中找到关于bun README.md的文档,但是当创建应用程序时,它会显示一条消息来执行"bun dev“,所以我可能遗漏了一些显而易见的东西。

如何调用运行bun dev的hono -Word

另一方面,如果我执行:bun src/index.ts,则应用程序按预期工作,但不需要热重加载。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-10-23 15:57:57

在V0.2.0BUN版本中,bun允许在Bun的JavaScript运行时热重新加载代码。这是Bun v0.2.0提供的一个非常实验性的特性。官方医生为.热。对于上述代码,您可以使用以下代码:

代码语言:javascript
复制
 bun --hot src/index.ts

代码语言:javascript
复制
 bun run --hot src/index.ts
票数 2
EN

Stack Overflow用户

发布于 2022-08-05 09:51:28

的当前版本(从0.2.0)见已接受的答案.

在当前版本(v0.1.6)中,命令bun dev只用于前端项目,而不是后端(REST .)。根据bun提交人在Bun不和谐服务器中的回答

但是,我们可以使用诺魔工具实现类似的结果:

代码语言:javascript
复制
bun add -d nodemon

将文件nodemon.json添加到项目根目录中,内容如下:

代码语言:javascript
复制
{
  "watch": ["src"],
  "ext": ".ts,.js",
  "ignore": [],
  "exec": "bun ./src/index.ts"
}

然后,使用以下命令执行项目:

代码语言:javascript
复制
bun run nodemon

更改源文件时,命令将自动重新启动bun解释器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73208846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档