自己写的 rollup 插件,功能是开启一个 web 服务并且同时提供 livereload.js ;
有用 fastify + @fastify/static ,cnpm 安装好像是可以用的,pnpm 因为是用的符号连接读取不到真实的文件内容;
sendFile 好像是 @fastify/static 自带的方法,也没找到正确的使用姿势;
// src/base.js
const monkeyPath = {
base: path.resolve(__dirname, "../"),
liveJS: path.resolve(__dirname, "../node_modules/livereload-js/dist/livereload.js"),
}
// 路由
server.get('/livereload.js', function (req, reply) {
// console.log(monkeyPath.liveJS)
// reply.type('text/javascript').sendFile('livereload.js', monkeyPath.livePath)
fs.readFile(monkeyPath.liveJS, (err, fileBuffer) => {
reply.type('text/javascript').send(err || fileBuffer)
})
})
完整项目在这里:
wdssmq/rollup-plugin-monkey at v1
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.