gpt4 book ai didi

node.js - 如何执行 `cd` 并在 csh/sh 脚本中调用一些 npm 脚本?

转载 作者:太空宇宙 更新时间:2023-11-04 12:48:44 27 4
gpt4 key购买 nike

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

就像你现在可能的那样,我需要运行 webpack 捆绑来获取编译后的文件。

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

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

Project

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

这就是我认为的伪代码,

脚本将从

开始执行

project/web-inf/scripts/uibuild.csh

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

'npm install' 'npm run build'

  1. 接下来,当 npm run build 成功时,构建文件将位于 project/uisrc/dist/文件夹中。 (我需要检查文件是否存在)。
  2. 之后,我需要将文件从 project/uisrc/dist 移动到 project/文件夹。
  3. 然后我需要删除路径 project/uisrc/node_modules 中生成的 node_modules 文件夹
  4. 无错误退出脚本

截至目前,我已尝试使用此脚本检查是否安装了 Node 。

 if(`where node` == "") then
printf "\nNode.js and Npm not installed. Please install and continue\n";
exit(1);
endif

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

有人能解决这个问题吗?

如果您需要更多详细信息,我很乐意提供。

最佳答案

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/* ../

关于node.js - 如何执行 `cd` 并在 csh/sh 脚本中调用一些 npm 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37894354/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com