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無法接受命令行參數node
https://www.npmjs.com/package/ts-nodegit
Programmatic
You can require
ts-node
and register the loader for future requires by usingrequire('ts-node').register({ /* options */ })
. You can also use file shortcuts -node -r ts-node/register
ornode -r ts-node/register/transpile-only
- depending on your preferences.chromeNote: If you need to use advanced node.js CLI arguments (e.g.
--inspect
), use them withnode -r ts-node/register
instead of thets-node
CLI.docker
而後給出段不明配置文件npm
Visual Studio Code
Create a new node.js configuration, add
-r ts-node/register
to node args and move theprogram
to theargs
list (so VS Code doesn't look foroutFiles
).json
{
}
不知該放那裏,說得不清楚。segmentfault
參考這個vscode 調試node之npm與nodemon,原來是vscode的launch.json, 本身彙總以後這樣windows
{ // 使用 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來管理前端,想一想也挺有意思的。
無論了,如今配置文件寫進去了,能用就行。