[英]Watch template files and copy them to dist/ folder
我在我的项目中使用打字稿,我可以成功地观看 + 编译 .ts 文件并将它们输出到dist
文件夹。
这是我的package.json
的scripts
部分
"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
文件夹中的views
文件并将它们移动到dist
文件夹。
npm scripts
或nodejs
?gulp
或webpack
?我有“相同”的要求,为CRUD graphql后端服务器,但不希望使用gulp
或webpack
只是为了保持简单。
我看到你和我一样使用nodemon
。 然后,根据https://github.com/remy/nodemon 上的文档,它可以用于监视除默认js
之外的任何类型文件的更改。 此外, nodemon
可以监控除node
之外的其他事务服务器的状态。
第一项任务是检测所需文件的更改:在我的情况下,我想将src/schema
文件夹中的*.gql
文件复制到build/schema
文件夹。 为此,您可以将ext
用于文件类型,并watch
要探索的源文件夹的选项。
第二个任务是复制文件。 当然,您可以使用主机操作系统的复制命令。 在我的情况下,我使用 Windows shell 的 DOS xcopy
命令(或cp
在类 Unix 操作系统中)。 nodemon
有一个带有event
选项的“事件挂钩”,可以在事件发生时执行命令行。 当检测到nodemon
的更改时,我们只需要节点服务器的restart
事件。
您可以使用命令行选项、全局配置文件或本地package.json
项目配置文件。 我使用package.json
nodemonConfig
部分显示了最后一个:
"nodemonConfig": {
"watch": [
"./src/schema",
"./build"
],
"ext": "js,gql",
"events": {
"restart": "xcopy .\\src\\schema\\*.gql .\\build\\schema /Y /O /R /F /I /V /E"
}
}
Ozkr 的回答很棒,我只想添加对我有用的东西,我不得不稍微改变一下,否则 nodemon 会无限重启:
"nodemonConfig": {
"watch": [
"./views",
"./public"
],
"ext": "hjs,js",
"events": {
"restart": "cp -r views dist \n cp -r public dist"
}
}
copy-and-watch h 就是这样做的:
我在开发过程中使用此代码复制 html 文件:
"copy_html": "yarn copy-and-watch src/mail_templates/* prod/mail_templates --watch --clean",
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.