使用node初始化項目


初始化項目

在建項目的時候經常會建很多文件夾和文件,今天使用node初始化項目自動生成這些內容。

執行步驟

  • 執行命令 node init 初始化項目生成package.json
  • 設置配置文件
var fs=require('fs');
var path=require('path');

module.exports.structure={
  rootName:'item',
  fileData:[
    {
      name:'images',
      type:'dir'
    },
    {
      name:'css',
      type:'dir',
      fileChild:
        {
          name:'index.css',
          type:'file',
          content:'@charset utf-8;'
        }
    },
    {
      name:'js',
      type:'dir',
      fileChild:
        {
          name:'index.js',
          type:'file',
          content:'/* Created by jines */'
        }
    },
  
    {
      name:'index.html',
      type:'file',
      //讀取文件內容
      content:fs.readFileSync(path.join(__dirname,'index.html'))
    },
    {
      name:'404.html',
      type:'file',
      //讀取文件內容
      content:fs.readFileSync(path.join(__dirname,'404.html'))
    }
  ]
}
  • 初始化項目
/*
初始化項目
 */
const fs=require('fs');
const path=require('path');
const structure=require('../config.js').structure;
let rootName=path.join('./',structure.rootName);

module.exports=function(){
  if(rootName){
    //創建根目錄
    fs.mkdir(rootName,function(){
      structure.fileData.forEach(function (item) {
        if(item.type=='dir'){
          //創建文件夾
          fs.mkdir(rootName+'/'+item.name,function(){
          for(var k in item){
            //判斷子文件中是還有文件,如果有則創建
            if(typeof item[k]=='object' && item[k].type=='file'){
              fs.writeFileSync(rootName+'/'+item.name+'/'+item[k].name,item[k].content,'utf-8')
            }
          }
         })
          
        }else if(item.type=='file'){
           //創建文件
          fs.writeFileSync(rootName+'/'+item.name,item.content,'utf-8')
        }
      })
    })
  }
}
  • 入口文件 index.js
'user strict'
//process.argv包含命令行參數的數組。
//第一個元素是node的路徑,
//第二個元素是js文件的當前路徑。
//第三個元素是命令行的參數。
const args=process.argv.slice(2);
const param=args[0];

const init=require('./command/init.js');

switch(param){
  case 'init':init();
      break;
  case '-v' :console.log('版本信息');
      break;
  default:   console.log('幫助信息');
      break;
}

  • 執行命令 node index.js init生成文件

文件目錄如圖所示

  • 將該項目拷貝到node的安裝目錄下C:\dev\nvm\v6.5.0\node_modules

如圖所示

  • 在此C:\dev\nvm\v6.5.0 路徑下新建文件item.cd並寫入如下代碼:
       @IF EXIST "%~dp0\node.exe" (
      "%~dp0\node.exe"  "%~dp0\node_modules\item\index.js" %*
    ) ELSE (
      @SETLOCAL
      @SET PATHEXT=%PATHEXT:;.JS;=;%
      node  "%~dp0\node_modules\item\index.js" %*
    )

如圖所示

  • 最后就可以在全局執行item init命令初始化項目


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM