2016-11-07 1 views
2

Ich versuche, eine einfache Node.js Express Website zu erstellen, und ich bin mit den folgenden Befehlen:Automatisieren Hinzufügen/Umbenennen von Ordnern in einer Express.js App

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

Wenn dies ausgeführt wird, es zu schaffen der Ordner /public, zusammen mit /images, /javascripts, stylesheets.

Gibt es eine Möglichkeit, ich kann diese automatisch durch /img, /js, css ersetzen, wenn ich es erstelle?

Ich versuche einfach, eine schnelle Reihe von Befehlen zu haben, mit denen ich einen einfachen Express-Server erstellen kann.

Antwort

1

Option 1) Bash-Skript

Eine Möglichkeit wäre mv in der Liste der Befehle

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

, die Sie in einen einfachen Bash-Skript

meine automatisieren können dann hinzufügen -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 

und verwenden Sie es wie

./my-express.sh project_name 

könnten Sie auch dieses Skript global machen wollen und geben es execution permissions ein allgemeines cli Tool wie

verwendet bereitzustellen
my-express project_name 

Option 2) Knoten Skript

Gleiche Idee wie das Bash-Skript außer geschrieben mit Knoten.

#!/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); 
    } 
    }); 
} 

Sie müssen auch mit den folgenden Inhalten

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

Und dann laufen npm install -g, die verbindet das Skript zu einem Ort auf dem Weg ein package.json im gleichen Verzeichnis erstellen, so können Sie es wie verwenden andere Shell-Befehl

Usage

my-express my_project 

Option 3) Sonder express-Generator

Fork des express-generator Projekt bauen und these 3 lines ändern, was man sie braucht, um zu sein

Verwandte Themen