首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在csh/sh脚本中执行`sh‘并调用一些npm脚本?

如何在csh/sh脚本中执行`sh‘并调用一些npm脚本?
EN

Stack Overflow用户
提问于 2016-06-18 07:15:07
回答 1查看 294关注 0票数 0

我是一个完整的linux和CSH脚本新手,我目前正在使用reactjs + node + npm + webpack开发一个UI项目。

正如你现在可能需要的,我需要运行webpack捆绑,以获得符合要求的文件。

我的项目正在linux机器上部署。

这是我的项目结构如下所示,

如上所示,我需要在uibuild.csh文件中编写csh脚本,

所以这就是我认为的伪码,

脚本将从

project/web-inf/script/uibuild.csh

  1. 需要检查是否已安装Node.js和Npm,如果安装了等高线,则退出并抛出错误。
  2. 接下来,我需要将目录更改为project/uisrc/
  3. 接下来,我需要依次执行以下命令

'npm安装‘'npm运行构建’

  1. 接下来,当npm运行生成成功时,生成文件将位于项目/uisrc/dist/文件夹中。(我需要检查文件是否在这里)。
  2. 之后,我需要将文件从项目/uisrc/dist移动到项目/文件夹。
  3. 然后,我需要删除在path项目/uisrc/node_ node_modules中生成的文件夹
  4. 退出脚本,没有错误

到目前为止,我已经尝试通过使用这个脚本来检查是否安装了节点。

代码语言:javascript
运行
复制
 if(`where node` == "") then
      printf "\nNode.js and Npm not installed. Please install and continue\n";
      exit(1);
   endif

但是我不知道如何改变目录和运行脚本??

有人能解决这个问题吗?

如果你需要更多的细节,我很乐意提供。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-23 10:56:19

代码语言:javascript
运行
复制
if which node > /dev/null ; then
  printf 'Node.js & NPM installed, continue start builing.. \n'
else
  printf '\x1B[31m Node.js & NPM is not installed, exiting now.. \x1B[0m \n'
  exit 0;
fi

printf 'Current working Directory :: '
pwd
cd ../../uisrc/
printf 'Current working Directory :: '
pwd
cd dist/
rm -rf index.html assets fixtures
cd ..
npm install --verbose
npm run build
cd ..
rm -rf index.html assets fixtures
cd uisrc/
mv dist/* ../
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37894354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档