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

时间:2017-11-07 13:38:13

标签: javascript node.js typescript

我正在项目中使用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 scriptsnodejs
  • 是否可行?
  • 或者我是否需要使用其他工具,例如gulpwebpack

3 个答案:

答案 0 :(得分:2)

我对CRUD graphql后端服务器有“相同”的请求,但是不想为了简单起见而使用gulpwebpack

我看到您像我一样使用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",