我正在项目中使用typescript,我可以成功观看+编译.ts文件并将其输出到dist
文件夹。
这是scripts
package.json
部分
"start": "npm run build && npm run watch",
"build": "npm run build-ts && npm run tslint",
"test": "cross-env NODE_ENV=test jest --watch",
"watch": "concurrently -k -p \"[{name}]\" -n \"Typescript,Node\" -c \"cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve\"",
"serve": "nodemon dist/server.js",
"build-ts": "tsc",
"watch-ts": "tsc -w",
"tslint": "tslint -c tslint.json -p tsconfig.json"
问题是我想使用js模板引擎(nunjucks)
,我需要查看views
文件夹中的视图文件并将它们移动到dist
文件夹。
npm scripts
或nodejs
?gulp
或webpack
?答案 0 :(得分:2)
我对CRUD graphql后端服务器有“相同”的请求,但是不想为了简单起见而使用gulp
或webpack
。
我看到您像我一样使用nodemon
。然后,根据https://github.com/remy/nodemon上的文档,可以使用它来监视除默认js
以外的任何类型文件的更改。此外,nodemon
可以监视node
以外的其他事务服务器的状态。
第一个任务是检测所需文件的更改:就我而言,我想将*.gql
文件夹中的src/schema
文件复制到build/schema
文件夹中。为此,您可以将ext
用于文件类型,并将watch
选项用于要搜索的源文件夹。
第二项任务是复制文件。当然,您可以使用主机操作系统的copy命令。在我的情况下,我使用Windows Shell的DOS xcopy
命令(或在类似OS的Unix中使用cp
)。 nodemon
有一个带有event
选项的“事件挂钩”,可以在事件发生时执行命令行。当检测到restart
的更改时,我们只需要节点服务器的nodemon
事件即可。
您可以使用命令行选项或全局配置文件,也可以在本地package.json
项目配置文件中使用。我使用nodemonConfig
的{{1}}部分显示了最后一个:
package.json
答案 1 :(得分:1)
Ozkr的回答很好,我只想添加对我有用的内容,否则必须更改一下,因为nodemon会无限次重启,否则:
"nodemonConfig": {
"watch": [
"./views",
"./public"
],
"ext": "hjs,js",
"events": {
"restart": "cp -r views dist \n cp -r public dist"
}
}
答案 2 :(得分:0)
copy-and-watc h正是这样做的:
我在开发过程中使用以下代码复制html文件:
"copy_html": "yarn copy-and-watch src/mail_templates/* prod/mail_templates --watch --clean",