我试图npm发布我的angular2 app,它具有以下结构。
search-app
config
node_modules
src
api
--index.ts
--ping.ts
--search.ts
model
--index.ts
--model.ts
web
app
ping
--index.ts
--ping.css
--ping.html
--ping.ts
search
--index.ts
--search.css
--search.html
--search.ts
--app.css
--app.html
--app.module.ts
--app.ts
--index.html
--index.ts
package.json
tsconfig.json
现在,我的" npm运行dist"命令是
"dist": "npm run rimraf -- dist && tsc src/index.ts src/web/index.ts src/model/index.ts -m commonjs --outDir dist --sourcemap --target es6 -d --pretty --noImplicitAny --experimentalDecorators --skipLibCheck"
运行npm run dist将生成以下dist目录。
search-app
dist
api
--*.d.ts
--*.js
model
--*.d.ts
--*.js
web
app
ping
--*.d.ts
--*.js
search
--*.d.ts
--*.js
--*.d.ts
--*.js
--index.d.ts
--index.js
关于如何在维护子目录结构的同时将src / web及其子目录中的html和css文件复制到dist / web的任何建议?
我基本上正在寻找一个命令,我可以附加到我的dist命令来复制html和css文件。我使用的是OSX,但理想的命令可以在OSX和windows上运行。
答案 0 :(得分:5)
要实现此跨平台,首先要安装copyfiles包:
$ npm i -D copyfiles
然后在package.json
中添加以下copy
脚本:
...
"scripts": {
...
"copy": "copyfiles -u 2 \"./src/web/**/*.{css,html}\" \"./dist/web/\""
},
...
通过将copy
链接到现有&& npm run copy
脚本的末尾来调用dist
脚本,如以下示例所示:
...
"scripts": {
"dist": "npm run rimraf -- dist && tsc src/index.ts src/web/index.ts src/model/index.ts -m commonjs --outDir dist --sourcemap --target es6 -d --pretty --noImplicitAny --experimentalDecorators --skipLibCheck && npm run copy",
"copy": "copyfiles -u 2 \"./src/web/**/*.{css,html}\" \"./dist/web/\""
},
...