繁体   English   中英

观看模板文件并将它们复制到 dist/ 文件夹

[英]Watch template files and copy them to dist/ folder

我在我的项目中使用打字稿,我可以成功地观看 + 编译 .ts 文件并将它们输出到dist文件夹。

这是我的package.jsonscripts部分

"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 scriptsnodejs
  • 或者我需要使用其他工具,如gulpwebpack

我有“相同”的要求,为CRUD graphql后端服务器,但不希望使用gulpwebpack只是为了保持简单。

我看到你和我一样使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM