使用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命令初始化项目
使用node初始化项目的更多相关文章
- 利用node、express初始化项目
前端做整站是开发,例如:前端是用了vue创建初始化项目,后端我们不会php.java等,我们只能用node去创建去做后端代码,本文就给大家讲解最基础的从零开始创建一个项目的后端环境. 一般来说前后端代 ...
- vue初始化项目,构建vuex的后台管理项目架子
构架vuex的后台管理项目源码:https://github.com/saucxs/structure-admin-web 一.node安装 可以参考这篇文章http://www.mwcxs.top/ ...
- Node.js项目拆包工程化
背景 在我们开发的过程中,经常会遇到这样的问题,开发完了一些代码或者一个接口,别的小伙伴过来问你,代码可不可以给他复用,接口可以给他调用.这说明代码的复用和抽象对团队协作是很重要的.举个例子,如下图 ...
- 使用“npm init”初始化项目
使用npm init初始化项目 为什么要使用npm init初始化项目 在node开发中使用npm init会生成一个pakeage.json文件,这个文件主要是用来记录这个项目的详细信息的,它会将我 ...
- 搭建一个node.js项目
初始化项目 新建一个文件夹,运行 npm init 初始化项目 mkdir okadaGo cd okadaGo npm init 按照提示输入一些项目的相关信息 D:\web\node>mkd ...
- 如何快速搭建一个 Node.JS 项目并进入开发?
了解:如何快速搭建一个项目并进入开发? 在此不概述 Node.JS 的历史以及发展过程. 因为之前接触过通过 Java 开发语言,所以明确地知道一个服务器所需的文件,以及一个服务器所需要的操作. 那么 ...
- vue-cli 初始化项目时开发环境中的跨域问题
最近刚刚完成自己的毕业设计(基于Vue的信息资讯展示与管理平台),于是想整理一下过程遇到的一些问题. 项目基于Vue开发,使用 Vue-cli 初始化项目文件目录时默认占用8080端口,而我又想使用 ...
- Vue管理系统前端系列一vue-cli4.x 初始化项目
目录 项目介绍 技术基础 开发环境 安装工具 快速原型开发 创建项目 配置相关说明 目录结构 项目介绍 lion-ui 是一个基于 RBAC 的管理系统前端项目,采用 vue 和 element-ui ...
- React Native环境配置、初始化项目、打包安装到手机,以及开发小知识
1.前言 环境:Win10 + Android 已经在Windows电脑上安装好 Node(v14+).Git.Yarn. JDK(v11) javac -version javac 11.0.15. ...
随机推荐
- BZOJ4300绝世好(傻)题
Description 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len). Input 输入文件共2行. 第一行包括一个整数 ...
- [网站公告]数据库服务器IOPS跑满造成网站不能正常访问
今年下午13:20-14:20左右,突增的访问量引发数据库服务器(阿里云RDS)IOPS跑满,造成大量请求执行缓慢,从而严重影响了网站的正常访问,给大家带来很大的麻烦,望大家谅解! 在出现故障时,当我 ...
- Django ORM、一对一、一对多、多对多、详解
上篇博客也提到这些知识点,可能大家还是不太清楚,这篇博客为大家详细讲解ORM中的几个知识点 1.1首先我们先看一个小案例: #_*_coding:utf-8_*_ from django.db imp ...
- react-redux原理分析
写在前面 之前写了一篇分析Redux中Store实现的文章(详见:Redux原理(一):Store实现分析),突然意识到,其实React与Redux并没有什么直接的联系.Redux作为一个通用模块,主 ...
- 预览github上的html页面
譬如有个项目:https://github.com/wozhizui/ife/tree/DevTogether/task19 里面有html的示例文件index.html 我们点击进去看到的是一堆代码 ...
- Python matplotlib笔记
可视化的工具有很多,如Tableau,各种JS框架,我个人感觉应该是学JS最好,因为JS不需要环境,每个电脑都有浏览器,而像matplotlib需要Python这样的开发环境,还是比较麻烦的,但是毕竟 ...
- Junit的使用
Junit是用于编写单元测试的框架.对于已经写好的函数,可以使用Junit生成单元测试代码. 自己的环境是:Linux Java环境是:JDK1.7 IDE:Eclipse Java EE IDE f ...
- 【poj2151】 Check the difficulty of problems
http://poj.org/problem?id=2151 (题目链接) 题意 T支队伍,一共M道题,第i支队伍解出第j道题的概率为p[i][j].问每支队伍至少解出1道题并且解题最多的的队伍至少解 ...
- 自己封装的常用NPOI文件导出源码
示例: 1. 2.示例2 源码下载地址:https://github.com/aa1356889/NPOICode
- SQLAlchemy(一)
说明 SQLAlchemy只是一个翻译的过程,我们通过类来操作数据库,他会将我们的对应数据转换成SQL语句. 运用ORM创建表 #!/usr/bin/env python #! -*- coding: ...