node.js与gulp相关服务器搭建、模块化、npm包、操作文件理论与案例

node.js 

        概念:node.js是一个js运行环境,有大量的api
                   node.js=谷歌V8引擎+大量的api

        读取一个js文件:cmd中 --------------node 文件名

        作用:js依赖于浏览器的js引擎,只能在页面运行,而nodejs实现了js代码脱离浏览器,在cmd控制台即可运行,可以实现诸多功能

        安装:node官网下载安装


node搭建服务器(http官方模块

        导入http模块:const http=require("http");

        创建服务器对象:http.createServer(function(req,res){}).listen(端口号)

const http = require("http");
http.createServer(function(req, res) {
    //响应头
	res.writeHead(200, {
		"Content-type": "text/html;charset=utf-8"
	});
     //响应内容
	res.write("我是服务器响应数据");
	res.end("<b>我是加粗的</b>");
}).listen(8888);

        ps:cmd读取运行之后,可在网页地址栏输入地址访问该页面,实现了用js代码搭建服务器


文件的读写(fs官方模块

读:

        创建一个js文件,并导入fs模块

         const fs=ruquire('fs');

        fs.readyFile("文件名",(err,data)=>{
        console.log(data)
        }) 

        当前目录cmd运行 node js文件名

const fs = require("fs");
fs.readFile("4.txt", (err, data) => {
	if (err) {
		console.log("文件读取失败")
	} else {
		console.log("文件读取成功");
		console.log(data.toString());
	}
})

写:

        fs.writeFile("文件名","内容",覆盖还是增加,回调函数)

        有该文件名则默认覆盖,无该文件自动创建

fs.writeFile("5new.txt", "用nodejs可以直接创建一个新文件",{flag:"a"}, () => {
	console.log("写入数据成功")
})

        当前目录cmd运行 node js文件名 

        创建一个目录:

                fs.mkdir("目录名",()=>{})

        删除一个目录:
                fs.rmdir("目录名",()=>{})

        删除一个文件:

                fs.unlink("文件名",()=>{})


自定义模块

        node可以实现js文件访问js文件,模块之间进行交互

        导出:

                module.exports={
                a:123,
                b:321}

        导入(可以导入多个模块):

                const c=require('./文件名')

                c.a即可取得其值

                cmd运行该文件即可在cmd显示结果

 es6的模块化:

        导出:

                let a=123;

                let b=321;

                let c=542;

                export default{a,b,c};

        导入(可以导入多个模块):

                import c from "./文件名"

                c.a即可取其值

                在html页面中引入该js文件并type="module"


第三方模块

        npm install 模块名

        npm uninstall 模块名

        npm list 查看安装的模块

        npm install -g nodemon自动重运行工具(gulp有用)


gulp

        是一个基于node平台的项目自动构建化工具,能够实现文件的拷贝、压缩、合并、重命名、es6转es5等功能

        安装步骤:

                安装cnpm:       npm install cnpm --registry=https://registry.npm.taobao.org  -g

                安装gulp软件:        cnpm install gulp -g

         项目的使用步骤:

                在项目根目录下        cnpm init 创建初始化文件

                安装gulp模块        cnpm install gulp --save-dev

                创建js文件(代码将在这里写)        gulpfile.js

         下载各种模块:

               合并模块        cnpm install gulp-concat --save-dev 

               压缩js模块        cnpm install gulp-uglify --save-dev

               文件重命名模块         cnpm install gulp-rename --save-dev   

               压缩css模块         cnpm install gulp-minify-css --save-dev

               压缩图片模块        cnpm install gulp-imagemin@7.1.0 --save-dev

               ES6转ES5模块
                    cnpm install --save-dev babel-preset-es2015
                    cnpm install --save-dev gulp-babel@7 babel-core babel-preset-env

        在gulpfile.js中:

              设置任务: gulp.task(任务名称,回调函数);

              运行任务:在控制台 gulp 任务名称

        拷贝:

​
const gulp = require('gulp');
gulp.task("copy", function() {
	gulp.src("copy.html").pipe(gulp.dest("d:/dest"))
})
gulp.task("copy", function() {
	gulp.src("js/**/*").pipe(gulp.dest("d:/dest"))
})
gulp.task("copy", function() {
	gulp.src("bigjs/**/*").pipe(gulp.dest("d:/dest"))
})

​

        合并:

const gulp2 = require("gulp-concat");
gulp.task("concat", function() {
	gulp.src(["concat1.js", "concat2.js"]).pipe(gulp2("newjs.js")).pipe(gulp.dest("d:/dest"))
})

         压缩js文件:

const gulp3 = require("gulp-uglify");
gulp.task("uglify", function() {
	gulp.src("1路由.js").pipe(gulp3()).pipe(gulp.dest("d:/dest"))
})

        压缩css文件:

const gulpcss = require("gulp-minify-css");
gulp.task("mincss", function() {
	gulp.src("压缩.css").pipe(gulpcss()).pipe(gulp.dest("d:/dest"))
})

        压缩图片:

const gulpimg=require("gulp-imagemin");
gulp.task("minimg",function(){
	gulp.src("bigimg/**/*").pipe(gulpimg()).pipe(gulp.dest("d:/dest"))
})

        es6转es5:

const gulpes5=require("gulp-babel");
gulp.task("change",function(){
	gulp.src("es6.js").pipe(gulpes5({presets:['es2015']})).pipe(gulp.dest("d:/dest"))
})

         合并压缩重命名拷贝:

const gulp4 = require("gulp-rename");
gulp.task("rename", function() {
	gulp.src(["concat1.js", "concat2.js"]).pipe(gulp2("newnewjs.js")).pipe(gulp3()).pipe(gulp4(
		"newnewnewjs.js")).pipe(gulp.dest("d:/dest"))
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值