[求助] package.json 文件中执行脚本的问题

2021-01-14 15:21:23 +08:00
 0bSer7er

前端萌新,需求是添加一个 npm run xxx 的命令来下载最近的国际化文件

package.json:

scripts:{
	"lang": "wget -O ./src/lang/lang.zip http://xxxx"
}

这样没有任何问题可以正常下载,但是因为下载的是 zip 需要再执行解压缩,所以想要写一个 shell 把 2 个命令放一起(领导说的),此时

lang.sh

#!/bin/bash
wget -O ./src/lang/lang.zip http://xxxx

package.json:

scripts:{
	"lang": "lang.sh"
}

控制台执行 npm run lang 文件不会下载

请问是啥问题?如何解决?

另外我电脑没有 unzip 命令的情况下( Windows,用网上的方法装了 zsh )如何解压缩文件?

1045 次点击
所在节点    问与答
5 条回复
ysc3839
2021-01-14 15:27:21 +08:00
所以你这是在 Windows 下? Windows 没有 bash,建议改用 Node.js 写。
jingcoco
2021-01-14 19:27:13 +08:00
- linux 可以 “sh ./xx.sh”,要不就在环境变量里配置上,让系统知道去哪找 lang.sh 文件

- window 可以装 wsl

- 我个人感觉你需求就是有点问题吧。感觉可以再问问。
shinytea2017
2021-01-14 22:16:05 +08:00
像 1 楼所说, 使用 Node.js 调用;

比如拷贝文件:

const fs = require('fs');

/*
fs.copyFile('./node_modules/uri-js/dist/es5/uri.all.js.map', './src/uri.all.js.map', (err) => { });
*/
fs.copyFile('./patches/uri.all.js.map', './src/uri.all.js.map', (err) => { });

没有必要限定使用外部程序来完成下载与解压; 任何支持下载与解压的 node.js 库都可使用.
Mutoo
2021-01-15 06:42:37 +08:00
"lang": "cmd1 && cmd2"

用 && 把两个命令串起来就行了,跨平台支持。
0bSer7er
2021-01-15 10:27:58 +08:00
@ysc3839
@jingcoco
@shinytea2017
@Mutoo
感谢回复,已用 node.js 解决

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/744919

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX