如何执行 `cd` 并在 csh/sh 脚本中调用一些 npm 脚本?
How to do `cd` and invoke some npm scripts inside csh/sh script?
我是 linux 和 CSH 脚本的新手,我目前正在使用 reactjs + node + npm + webpack 开发 UI 项目。
就像你现在可能的那样,我需要 运行 webpack 打包以获得编译文件。
我的项目正在 linux 机器上部署。
这是我的项目结构如下图,
我需要在 uibuild.csh 文件中编写一个 csh 脚本,如上所示,
这就是我认为的伪代码,
脚本将从
开始执行
project/web-inf/scripts/uibuild.csh
- 需要检查 Node.js 和 Npm 安装与否,
如果安装继续
否则退出并抛出错误
- 接下来,我需要将目录更改为 project/uisrc/
- 接下来,我需要串行执行以下命令
'npm install'
'npm run build'
- 接下来,当 npm 运行 构建成功时,构建文件将位于 project/uisrc/dist/ 文件夹中。 (我需要检查文件是否存在)。
- 之后,我需要将文件从 project/uisrc/dist 移动到项目/文件夹。
- 然后我需要删除路径 project/uisrc/node_modules
中生成的 node_modules 文件夹
- 无错误退出脚本
截至目前,我已尝试使用此脚本检查是否安装了节点。
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/* ../
我是 linux 和 CSH 脚本的新手,我目前正在使用 reactjs + node + npm + webpack 开发 UI 项目。
就像你现在可能的那样,我需要 运行 webpack 打包以获得编译文件。
我的项目正在 linux 机器上部署。
这是我的项目结构如下图,
我需要在 uibuild.csh 文件中编写一个 csh 脚本,如上所示,
这就是我认为的伪代码,
脚本将从
开始执行project/web-inf/scripts/uibuild.csh
- 需要检查 Node.js 和 Npm 安装与否, 如果安装继续 否则退出并抛出错误
- 接下来,我需要将目录更改为 project/uisrc/
- 接下来,我需要串行执行以下命令
'npm install' 'npm run build'
- 接下来,当 npm 运行 构建成功时,构建文件将位于 project/uisrc/dist/ 文件夹中。 (我需要检查文件是否存在)。
- 之后,我需要将文件从 project/uisrc/dist 移动到项目/文件夹。
- 然后我需要删除路径 project/uisrc/node_modules 中生成的 node_modules 文件夹
- 无错误退出脚本
截至目前,我已尝试使用此脚本检查是否安装了节点。
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/* ../