您的位置:首页 > 健康 > 养生 > 长沙疫情最新轨迹公布_广州市住房和城乡建设局官方网站_怎么建立自己的网站_信息流广告代理商排名

长沙疫情最新轨迹公布_广州市住房和城乡建设局官方网站_怎么建立自己的网站_信息流广告代理商排名

2025/1/12 0:53:11 来源:https://blog.csdn.net/qq_35496811/article/details/144869100  浏览:    关键词:长沙疫情最新轨迹公布_广州市住房和城乡建设局官方网站_怎么建立自己的网站_信息流广告代理商排名
长沙疫情最新轨迹公布_广州市住房和城乡建设局官方网站_怎么建立自己的网站_信息流广告代理商排名

在一些除了nest框架外的一些其他nodejs框架中没有提供对ts编译和热重载,如果使用typescript我们需要自己进行配置。

方法一(推荐)

使用bun运行环境(快)。注:一些不是使用js,ts代码编写的第三方包,可能会有兼容性问题。

bun run --hot index.ts

构建为js代码 

bun build index.ts --target node --outdir ./dist

编译成可执行文件

bun build --compile --minify index.ts --outfile ./dist/web

方法二(推荐)

使用deno运行环境(安全) 。deno2.x和bun有同样兼容性问题,deno1.x兼容性更差。

deno run --allow-net --watch ./src/index.ts 

 编译成可执行文件

deno compile --output ./dist/app --allow-net --allow-read ./src/index.ts

 方法三(推荐)

使用 ts-node-dev,npm i ts-node-dev安装。

ts-node-dev --respawn --transpile-only src/index.ts

方法四 

使用tsc配置增量编译,配合concurrently 实现。

tsconfig.json

{"compilerOptions": {"target": "es2016", // 输出目标 JavaScript 版本"module": "CommonJS", // 使用 ES 模块"experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */"emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */"lib": ["ES2016","DOM"],"moduleResolution": "node", // 使用 Node.js 模块解析策略"outDir": "./dist", // 输出目录"rootDir": "./src/", // TypeScript 源代码目录"baseUrl": "./", // 设置模块解析的基本路径"resolveJsonModule": true, // 支持导入 JSON 文件// "emitDeclarationOnly": false, // 只生成声明文件"allowJs": true, // 允许导入 JS 文件"checkJs": true,"sourceMap": true,"importHelpers": true,"allowSyntheticDefaultImports": true,"esModuleInterop": true, // 支持与 CommonJS 模块互操作"strict": true, // 启用严格模式"listEmittedFiles": true, // 打印输出文件"listFiles": true,"declaration": false, "composite": false, // 启用增量构建"incremental": true, // 启用增量编译"tsBuildInfoFile": "./.tsbuildinfo", // 增量编译信息文件"skipLibCheck": true, // 跳过库类型检查"forceConsistentCasingInFileNames": true, // 强制文件名大小写一致"paths": {"*": ["node_modules/*"] // 配置模块路径}},"include": ["src/**/*" // 包含所有 src 目录下的文件],"exclude": ["node_modules" // 排除 node_modules 目录]
}

package.json

"a": "concurrently \"npm run c\" \"npm run n\"",
"c": "tsc --watch",
"n": "nodemon --exec node ./dist/bin/www.js --watch ./src --ext ts --legacy-watch",

其它方法 

 也可以使用webpack、vite、gulp等一些构建工具实现,不是很推荐。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com