如何将车把文件复制到dist文件夹

时间:2019-05-28 03:41:49

标签: node.js typescript handlebars.js babeljs npm-scripts

我正在使用从src/编译到lib/文件夹的Typescript,以及从lib/编译到dist/的Babel。

我遇到的问题是,在编译应用程序时,.handlebars中有src/email_templates/个文件没有被复制到dist/中。因此,当我运行该应用程序时,由于dist/email_templates/不存在而失败,并显示错误。

我正在使用nodemailer-handlebars软件包,并尝试将email_templates/文件夹移到项目根目录并将viewPath设置到该文件夹​​,但是由于该应用程序位于var/www/api.my-domain.com/。看来我在api.my-domain.com文件夹名称中有句点的事实导致viewPath失败并出现错误:

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
    at validateString (internal/validators.js:125:11)
    at Object.resolve (path.js:1080:7)
    at ExpressHandlebars._resolveLayoutPath (/var/www/api.my-domain.com/node_modules/express-handlebars/lib/express-handlebars.js:342:17)
    at ExpressHandlebars.<anonymous> (/var/www/api.my-domain.com/node_modules/express-handlebars/lib/express-handlebars.js:223:35)

这是我的package.json脚本,用于构建应用程序:

"build": "tsc && babel ./lib --out-dir ./dist ",

如何更改此设置,以使其删除dist/email_templates的当前内容,然后将src/email_templates的内容复制到dist/email_templates

2 个答案:

答案 0 :(得分:0)

  

删除dist / email_templates的当前内容,然后将src / email_templates的内容复制到dist / email_templates

另外两个npm软件包

答案 1 :(得分:0)

使用cpx软件包已解决:https://www.npmjs.com/package/cpx

npm install cpx --save-dev

Package.json:

- "build": "tsc && babel ./lib --out-dir ./dist",
+ "build": "tsc && babel ./lib --out-dir ./dist && cpx \"./src/email_templates/**/*\" ./dist/email_templates --clean",
npm run build