2016-11-07 11 views
2

内のフォルダの名前を変更/追加:自動化は、私は簡単なのNode.js Expressのウェブサイトを作成しようとしている、と私は、次のコマンドを実行しているExpress.jsアプリ

cd node 
npm install pug express 
express project_name 
cd project_name && npm install 
npm start 

これを実行すると、それが作成しています/publicフォルダと、/imagesと、/javascriptsと、stylesheetsとを含む。

私はそれを自動的に置き換えて、/img/jscssとする方法はありますか?

単純なExpressサーバーを作成するためのコマンドを簡単に作成しようとしています。

答えて

1

オプション1)バッシュスクリプト

一つの方法は、あなたがして、簡単なbashスクリプト

に自動化できるコマンド

mv images img  # rename images to img 
mv javascripts js # rename javascripts to js 
mv stylesheets css # rename stylesheets to css 

のリストにmvを追加することです私の-express.sh

#!/bin/bash 
if [ "$#" == "1" ]; then 
    express $1 
    cd $1 && npm install 
    mv public/images public/img 
    mv public/javascripts public/js 
    mv public/stylesheets public/css 
    npm start 
else 
    echo "usage my-express <project-name>" 
fi 

とあなたはまた

my-express project_name 

オプション2)ノードのスクリプトのように使用される一般的なCLIツールを提供するために、このスクリプトglobalを作成し、それをexecution permissionsを与えたいと思うかもしれません

./my-express.sh project_name 

のようにそれを使用

ノードを使用して書き込まれていることを除いて、bashスクリプトと同じ考えです。

#!/usr/bin/env node 
var exec = require('child_process').exec; 
var projectName = process.argv[2]; 

var commands = [ 
    'npm install', 
    'mv public/images public/img', 
    'mv public/javascripts public/js', 
    'mv public/stylesheets public/css', 
    'npm start' 
]; 

if (typeof projectName !== 'string' || projectName.length < 1) { 
    console.log('Usage: node my-express <project-name>'); 
} else { 
    var cmd = ['express ' + projectName,'cd ' + projectName] 
    .concat(commands) 
    .join(' && '); 

    console.log('Executing\n', cmd.replace(/\&\&/g, '&&\n')); 

    exec(cmd, function(error, stdout, stderr) { 
    if (error) { 
     console.error(error); 
    } else { 
     console.log(stdout); 
    } 
    }); 
} 

はまた、次の内容を同じディレクトリにpackage.jsonを作成する必要が

{ 
    "name": "my-express", 
    "version": "0.0.1", 
    "bin": { 
    "my-express": "./my-express.js" 
    } 
} 

そして、パス上の場所にスクリプトをリンクnpm install -gを実行するので、あなたのようにそれを使用することができます他のシェルコマンド

使用

my-express my_project 

オプション3)カスタム表現発電

フォークexpress-generatorプロジェクトをビルドし、あなたがそれらを

なるために必要なものに these 3 linesを変更
関連する問題