vscode下ts-node传入cli参数
ts-node写ts,启动时习惯在package.json里写
"scripts": {
"build-ts": "tsc",
"start": "ts-node src/server.ts",
"start:dev": "nodemon",
"serve": "node dist/server.js",
"test": "mocha --require ts-node/register test/**/*.ts",
"build_browser_dev": "browserify ./src/page.js -o ./static/bundle.js -t [ babelify --presets[env]]"
},
但是当希望启动时传入命令行参数时,ts-node没法接受命令行参数
https://www.npmjs.com/package/ts-node
Programmatic
You can require
ts-nodeand register the loader for future requires by usingrequire('ts-node').register({ /* options */ }). You can also use file shortcuts -node -r ts-node/registerornode -r ts-node/register/transpile-only- depending on your preferences.Note: If you need to use advanced node.js CLI arguments (e.g.
--inspect), use them withnode -r ts-node/registerinstead of thets-nodeCLI.
然后给出段不明配置文件
Visual Studio Code
Create a new node.js configuration, add
-r ts-node/registerto node args and move theprogramto theargslist (so VS Code doesn't look foroutFiles).
{"type": "node","request": "launch","name": "Launch Program","runtimeArgs": ["-r","ts-node/register"],"args": ["${workspaceFolder}/index.ts"]}
不知该放那里,说得不清楚。
参考这个vscode 调试node之npm与nodemon,原来是vscode的launch.json, 自己汇总之后这样
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "启动程序",
//"program": "${workspaceFolder}\\src\\server.ts",
//"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"runtimeArgs": [
"-r",
"ts-node/register",
],
"args": [
"${workspaceFolder}\\src\\server.ts",
"--config=D:\\src\\overlay.yml"
]
}
]
}
这个是按F5启动调试时用的。
如果还是想npm start 用参数呢?
这样:
"scripts": {
"build-ts": "tsc",
"start": "node -r ts-node/register src/server.ts",
"start:dev": "nodemon",
"serve": "node dist/server.js",
"test": "mocha --require ts-node/register test/**/*.ts",
"build_browser_dev": "browserify ./src/page.js -o ./static/bundle.js -t [ babelify --presets[env]]"
},
用node -r ts-node/register代替 ts-code
然后 nodemon的配置文件nodemon.json里这样:
{
"ignore": ["**/*.test.js", ".git", "node_modules"],
"watch": ["src"],
"exec": "npm start -- --server=localhost",
"ext": "ts js"
}
--加空格之后 是参数部分。这样ctrl+shift+B启动,start:dev
在src/server.ts里
//命令行参数
console.log('process.argv', process.argv);
可以收到

请无视现在改回windows下写码。。。主要是sublime text 3 的 ctrl+B运行脚本方便+中文显示,然后经常要写其他的方案各种杂事,各种办公软件win比较方便。
活在vscode chrome npm pipenv的世界里,操作系统之间区别不大。
将来部署时,在docker里启动直接用 npm start -- --server=XXX, --config=YYY 即可。
node的工程下各种.json的配置文件已经不少了。有点雪花式配置的意思。因为不同的组件每个都有一个配置文件,也算合理。
而且用文件配置总比用gui手工点击填写方便多了。
果然到了后端,就充满了cli,配置文件。用这样的思想组织的npm来管理前端,想想也挺有意思的。
不管了,现在配置文件写进去了,能用就行。
vscode下ts-node传入cli参数的更多相关文章
- TODO:Ubuntu下安装Node
TODO:Ubuntu下安装Node Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高 ...
- [转]Windows下配置Node.js和Cordova
本文转自:https://blog.csdn.net/weixin_37730482/article/details/74388056?locationNum=3&fps=1 本文讲解在win ...
- Vetur:VSCode下强大的Vue开发工具
Vue自从发布以来就一直受到前端开发人员的热爱,而除了一些本身优秀的特征之外,还有就是丰富的插件和工具的支持和更新.虽然现在的编辑器需要安装相应的plugins才能进行Vue组件化开发,但是越来越多优 ...
- yolov3源码darknet在vscode下调试
1. 安装配置: https://pjreddie.com/darknet/yolo/ darknet文件夹下make命令搞定: 2. 配置vscode 打开安装好的vscode并安装扩展C/C++( ...
- 【win7下安装node.js错误:roling back action】与【"grunt" 不是内部或外部命令】 解决方法
[win7下安装node.js错误:roling back action] 解决方法: Node.js 服务器端的JavaScript Node.js 是一个基于Chrome JavaScript 运 ...
- <MyBatis>入门四 传入的参数处理
1.单个参数 传入单个参数时,mapper文件中 #{}里可以写任意值 /** * 传入单个参数 */ Employee getEmpById(Integer id); <!--单个参数 #{} ...
- 再整理:Visual Studio Code(vscode)下的通用C语言环境搭建
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://www.cnblogs.com/czlhxm/p/11794743.ht ...
- 利用 nodejs 解析 m3u8 格式文件,并下 ts 合并为 mp4
利用 nodejs 解析 m3u8 格式文件,并下 ts 合并为 mp4 以前看视频的时候,直接找到 video标签,查看视频地址,然后下载下来.. 后来发现,好多 video 标签打开元素审查,如下 ...
- windows下安装node.js及环境配置、部署项目
windows下安装node.js及环境配置.部署项目 一.总结 一句话总结: 安装nodejs软件:就像普普通通的的软件那样安装 配置nodejs安装的全局模块的环境变量 并且安装cnpm(比如cn ...
随机推荐
- Python调用大漠插件
Python版本要用32位的?我去官网下载,太慢了,就在腾讯软件里面下载了一个,结果实验成功 import win32com.client dm = win32com.client.Dispatch( ...
- Golang并发编程进程通信channel了解及简单使用
概念及作用 channel是一个数据类型,用于实现同步,用于两个协程之间交换数据.goroutine奉行通过通信来共享内存,而不是共享内存来通信.引用类型channel是CSP模式的具体实现,用于多个 ...
- python框架相关问题
面试其他篇 目录: 1.1
- 图片上传插件:webuploader
官网链接:https://github.com/fex-team/webuploader
- GDPR
http://column.caijing.com.cn/20180523/4457753.shtml
- Install Virtualbox on ubuntu
1.Use the command: sudo apt-get install virtualbox
- topcoder srm 713 div1
problem1 link 如果$a^{b}=c^{d}$,那么一定存在$t,x,y$使得$a=t^{x},c=t^{y}$.一旦$t,x,y$确定,那么可以直接计算出二元组$b,d$有多少.对于$t ...
- (转)Jenkins持续集成
(二期)14.持续集成工具jenkins [课程14]持续集...概念.xmind0.6MB [课程14]持续集成...kins.xmind43.3KB [课程14预习]持续...kins.xmind ...
- FAQ Flyway
https://flywaydb.org/documentation/faq What is the best strategy for dealing with hot fixes? You hav ...
- Windows FindFirstFile利用
目前大多数程序都会对上传的文件名加入时间戳等字符再进行MD5,然后下载文件的时候通过保存在数据库里的文件ID读取文件路径,一样也实现了文件下载,这样我们就无法直接得到我们上传的webshell文件路径 ...