实战演练:用gulp+webpack构建用户登录

VPS上部署Gulp.js自动化构建实战指南 Gulp.js 是基于 Node.js 的流式任务运行器,核心原理是通过 JavaScript 管道(pipe)串联文件处理操作,实现 CSS 压缩、JS 混淆、HTML 优化等静态资源构建任务。其技术价值在于轻量、可控、无状态,特别适合在 Linux VPS 等服务端环境替代手动部署流程,规避 npm 权限错误(如 EACCES)、网络超时(ENOTFOUND)及构建路径混乱等高频问题。典型应用场景包括静态博客自动发布、Vue/React 项目 CI/CD 前置构建、Nginx 托管站点的资产预处理。本文 阅读详情

转自:http://blog.youkuaiyun.com/github_26672553/article/details/52253737

1.先看目录结构 
这里写图片描述 
src目录下是源文件,最终要”编译”到build目录下。 
tpl/login.html是登录模板文件,主要代码如下

    <h2>用户登录</h2>
    <p>用户名:</p>
    <p><input type="text" name="username" id="username" /></p>
    <p>密码:</p>
    <p><input type="password" name="pwd" id="pwd" /></p>
    <p><button id="loginBtn">登录</button></p>

src/main.js是控制登录脚本文件:

var loginBtn = document.getElementById("loginBtn");
loginBtn.onclick = function(){
    alert("登录测试");
}

2.先来看一看如何利用webpack把main.js打包到build/js目录下 
2.1编辑项目根目录下的webpack.config.js文件:

module.exports = {
    // entry是入口文件,可以多个,代表要编译那些js
    entry:['./src/main.js'],
    output:{
        path: __dirname+'/build/js', // 输出到那个目录下(__dirname当前项目目录)
        filename:'build.js' //最终打包生产的文件名
    },
};

2.2 在终端执行webpack命令后 
这里写图片描述

3.我们的需求是把src/tpl/login.html生成到build/html/下,把src/main.js生成到build/js/下。 
我们来结合gulp完成这个需求。 
利用我们之前学习的gulp-webpack把js编译;利用gulp把tpl下面的文件生成到build/html/目录下。

3.1 编辑gulpfile.js:

var gp = require('gulp');
var gulp_webpack = require('gulp-webpack')
var webpack= require('webpack');
var webpack_config = require('./webpack.config.js');

// 生成js文件
gp.task('build-js',function(){
    gulp_webpack(webpack_config,webpack)
        .pipe(gp.dest('./build/js'))
})

// 最终生成
/*
在执行run这个任务的时候,会先执行第二个参数里的任务
*/
gp.task('run',['build-js'],function(){
    gp.src(['./src/tpl/*.html']) //把src/tpl/下的所有html文件
        .pipe(gp.dest('./build/html')) //最终生成到build/html/下面
})

3.2执行命令:gulp run 
这里写图片描述 
我们暂时在html/login.html手动的引入js/build.js文件

<script src="../../build/js/build.js"></script>

最后来测试一把  


里有一个缺陷:后面页面上的js是我们手工引入的。

利用htmlWebpackPlugin简化页面构建初步 
1.安装

npm i html-webpack-plugin --save-dev

2.修改webpack的配置文件 
var HtmlWebpackPlugin = require(‘html-webpack-plugin’) 
plugins:[] 
2.1修改webpack.config.js

var HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
    // entry是入口文件,可以多个,代表要编译那些js
    entry:['./src/main.js'],
    output:{
        path: __dirname+'/build/js', // 输出到那个目录下(__dirname当前项目目录)
        filename:'build.js' //最终打包生产的文件名
    },
    plugins:[
        new HtmlWebpackPlugin({
            filename: __dirname+'/build/html/login-build.html',
            template:__dirname+'/src/tpl/login.html'
        })
    ]
};

2.2执行命令:webpack 
这里写图片描述
生成的login-build.html中,已经引入了js文件。

3.js文件虽然自动引入了,但是默认在页面body下面。如果你希望在head里面引入。 
这里有几个重要的参数 
hash:true/fals 会给所有包含的js和css添加一个唯一的webpack编译hash值 
inject:’head’/’body’ 如果是head则放到页面的head里面 
3.1修改webpack配置文件: 
这里写图片描述 
3.2执行命令:webpack 后 
这里写图片描述

4.hash参数的作用 
这里写图片描述 
这里写图片描述


Gulp.js在VPS上的生产级自动化实践:轻量、稳定、可审计 Gulp.js作为基于Node.js的流式任务编排工具,其轻量级、无守护进程、低内存占用(实测仅12.3MB)的特性,使其成为资源受限VPS环境下的理想自动化引擎。它不依赖浏览器或复杂构建上下文,核心能力在于事件驱动的管道化处理(stream-based processing)与可复现的任务调度(task orchestration),天然适配Linux服务器权限模型与运维范式。相比Webpack等重型工具,Gulp更易嵌入CI/CD、crontab及Nginx协同流程,支撑静态资源构建、日志分析、配置生成 阅读详情

相关推荐

Web自动化实战:从Gulp到Selenium与云端测试的完整指南

Web自动化是现代软件开发中提升效率与保障质量的关键技术,其核心原理是通过脚本或工具模拟用户操作,自动执行浏览器任务。这项技术的价值在于实现测试与构建流程的一致性和可重复性,显著提升持续集成与部署(CI/CD)的可靠性。在实际应用场景中,Web自动化主要分为构建流程自动化(如使用Gulp进行代码检查与转换)和浏览器操作自动化(如利用Selenium进行端到端测试)。通过结合本地任务运行器与云端测试服务,开发者可以构建覆盖多浏览器、多设备的健壮测试体系。本文聚焦于Selenium、Gulp等热词工具,深入探讨

Liusuzhi19610221的博客 1275

浅谈前端项目打包工具webpack和gulp

前端打包工具webpack和gulp,gulp的常见api介绍

llly0987的博客 3037

C# 通俗易懂的介绍基础知识(七)——栈Stack(从日常生活开始讲解)

C# 通俗易懂的介绍基础知识(七)——栈Stack(从日常生活开始讲解) 大家好,我是菌菌巧乐兹,励志用最简单的语言来讲解程序知识点。

菌菌兹的博客 1669

webpack配置自动打开

webpack配置自动打开

shiyibushiwei的博客 840

Hi3516CV610开发板实战:从零搭建智能视觉监控系统

本文详细介绍了从零开始基于Hi3516CV610开发板搭建智能视觉监控系统的完整实战流程。涵盖硬件连接、系统配置、摄像头集成、网络设置、固件烧录到视频处理与智能分析功能开发,提供了丰富的实践经验和调试技巧,帮助开发者快速掌握嵌入式视觉系统开发。

vvv99的博客 562

2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(六级)答案 + 解析

2024年12月中国电子学会青少年软件编程(Python)等级考试试卷(六级)答案 + 解析

伶俐角少儿编程 729

实战演练:用gulp+webpack构建用户登录(1)

1.先看目录结构 src目录下是源文件,最终要”编译”到build目录下。 tpl/login.html是登录模板文件,主要代码如下 <h2>用户登录</h2> <p>用户名:</p> <p><input type="text" name="username" id="username" /></p> <p>密码:</p> <p><input type=

1569

计算机实战分享3:森林火灾预测分析可视化机器学习预测-完整数据代码-可直接运行

计算机实战分享3:森林火灾预测分析可视化机器学习预测-完整数据代码-可直接运行

604

Grunt、Gulp 与 webpack:谁更胜一筹?

本文将比较webpack、grunt和gulp这三种现代前端构建工具,分析它们的特点、用途和适用场景,帮助您选择最适合项目需求的工具。🎉 webpack、grunt和gulp都是现代前端开发中广泛使用的构建工具,但它们各自的特点和用途有所不同。webpack适用于模块化和代码分割的需求,grunt和gulp则更适用于自动化前端开发中的重复性工作。根据项目的需求和特点,可以选择最适合的工具来提高开发效率和自动化程度。

你若盛开,清风自来 2076

CRMEB开源电商系统 /api/products SQL注入漏洞复现(CVE-2024-36837)

2024年6月,CRMEB开源电商系统发布了新补丁,修复了一处SQL注入漏洞(CVE-2024-36837)。经分析,该漏洞可以通过请求api的路径接口来进行SQL注入,进而可能导致敏感信息泄露,该注入可暴露后台web绝对路径,深入利用可获取服务器权限,该漏洞无前置条件且利用简单,建议受影响的用户尽快修复漏洞。

0xSec 2882

【华为OD机试】真题-小明减肥(Java)

摘要:题目要求从n个可选运动中选取k个,使其卡路里总和等于目标值t,统计可行方案数。输入包含运动数量n、目标t、选择数量k及卡路里数组。采用DFS回溯算法,通过剪枝优化(提前终止无效分支),分别处理选择/不选当前运动的情况。当遍历完所有运动且满足条件时计数。示例输入"4 3 2"和"1 2 3"时,输出2(对应两种选择组合)。Java实现通过递归完成搜索,最终输出符合条件的方案总数。(149字)

u014481728的博客 285

Gulp和Webpack对比

在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始逐渐渗透到“大前端”的开发中。前端开发过程越来越繁琐,当今越来越多的网站已经从网页模式进化到了 Webapp 模式。它们运行在现代的高级浏览器里,使用 HTML5、 CSS3、 ES6 等更新的技术来开发丰富的功能,网页已经不仅仅是完成浏览的基本需求,并且Webapp通常是一个单页面应用(S...

weixin_30908707的博客 702

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

实战演练:用gulp+webpack构建用户登录(2):简化

实战演练:用gulp+webpack构建用户登录(1)里有一个缺陷:后面页面上的js是我们手工引入的。利用htmlWebpackPlugin简化页面构建初步 1.安装npm i html-webpack-plugin --save-dev2.修改webpack的配置文件 var HtmlWebpackPlugin = require(‘html-webpack-plugin’) plugins

737

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

前端速学成财:第十四课-实战演练:用gulp+webpack构建用户登录(1)

登录页面,基本要素如下: 1.页面展示 2.基本脚本判断 3.后端交互为了逼格,我们开始创建文件夹层级. 在项目根目录下创建src --main.js --tpl --login.html(后缀随意)注意:一旦发布到生成环境,以上文件是不需要上传到服务器上的1.利用我们之前学习的gulp-webpack把JS编译 2.利用gulp把tpl下面的文件生成到build/html

SxinBoss的博客 705

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

《nodejs+gulp+webpack基础实战篇》课程笔记(五)-- 实战演练,构建用户登录

一、用gulp +webpack构建登录页面(1):简单构建   我们做项目经常要做的“百搭”页面 登录页面 ,它的基本要素如下: 1、页面展示要素 2、基本脚本判断 3、后端交互。   在项目根目录下创建 src(有逼格的名称) --tpl (代表是模板) --login.html(后缀随意) 注意,一旦发布到生产环境, 以上文件是不需要上传到服务器上的。 <!--src/tpl/lo...

weixin_30772261的博客 208

gulp webpack php,前端开发速学成财(nodejs+gulp+webpack基础实战篇)

本课程正在限时优惠中,请尽快购买原价:¥250优惠价:¥999.00章节导航课程大纲第一章:开脑与热身本课时是开张课,我们适当讲个故事来帮助大家理解javascript和NodeJS.不要忽略这段历史,否则我们很难明白后面的知识点到底是怎么来的。说到底,这些历史的产生都是因为“钱”。第二集我们进入速学节奏,本课时包含知识点:1、require外部文件 2、NPM来安装jquery 3、引用第三方模...

weixin_42544663的博客 181

前端开发速学成财:nodejs+gulp+webpack基础实战篇-沈逸-专题视频课程

本课程是目前流行的前端开发速学课程。知识点涉及怎么结合gulp、webpack、Babel等并结合NodeJS+NPM开发前端。通过本课程让你领域目前时髦的前端开发方式,而不再是简单的在页面里写写javascript或css,进一步提升我们的前端开发逼格...

沈逸的IT专栏---shenyisyn 1449

r.js结合gulp等于webpack(angular为例)

本人大学时玩dojo,开始了AMD模块化的不归路,工作后一直使用requirejs,感觉非常好。但是,近来随着react的火热,webpack成为了天下无敌的模块化工具,能做模块化,合并压缩,监视等,当我看见webpack甚至还能做反向代理的时候,我整个人都不好了。我已经打算从requirejs转向webpack了,在重构以前老代码的时候,我想记录下历史。使用r.js结合gulp同样可以实现web

zhanfu2905的博客 612

Gulp打包普通前端工程

博客已经停更一年多了,因为工作比较忙,当然这不是主要原因。主要还是自己没有什么有价值的给大家分享。 今天要跟大家分享的是前端打包技术,对于一个后台开发来说有的时候你可能不一定能用到vue进行前端开发,很多时候我们用的就是一个普通的web前端工程 如layui。但是天下武功为快不破谁不想自己开发的项目又快又好用,而且不易被人盗用。这个时候我们就需要打包、压缩、混淆代码你就需要用到gul...

嘟嘟技术 1378

Gulp-2022 项目搭建与使用指南

Gulp-2022 项目搭建与使用指南 一、项目目录结构及介绍 本项目基于 Gulp, Webpack, 和 ESBuild-Loader 进行前端构建,确保了高效且灵活的开发流程。以下是其主要的目录结构及其简介: .gitignore: 忽略不需要提交到版本控制系统的文件。 editorconfig: 确保代码风格一致性的配置文件。 prettierrc: Prettier 的配置文件,用于自...

gitblog_00288的博客 1045

探索高效后台管理系统的构建:Vue与Webpack的完美结合

探索高效后台管理系统的构建:Vue与Webpack的完美结合 在当今快速发展的技术环境中,构建一个高效、灵活且易于维护的后台管理系统是每个开发团队的追求。今天,我们将介绍一个由资深开发者lifetea精心打造的开源项目——基于Vue和Webpack的后台管理系统,它不仅展示了现代前端技术的强大能力,还为开发者提供了一个极佳的学习和实践平台。 项目介绍 这个开源项目是一个完整的后台管理系统,它利用了...

gitblog_01078的博客 462

将Vue.js用于备忘录Web App。 webpack,vue-loader,gulp,firebase,facebook

建造 (Building) npm install # build: glup 现场演示 (live demo) https://vue-memo.firebaseapp.com/ https://vue-memo.firebaseapp.com/ 翻译自: https://vuejsexamples.com/using-vue-js-for-memo-web-app-webpack-vu...

cuk5340的博客 132

vue-Webpack

​ webpack是一个打包模块化javascript的工具,在webpack里一切文件皆模块,通过loader转换文件,通过plugin注入钩子,最后输出由多个模块组合成的文件,webpack专注构建模块化项目。

延成的博客 1064
上一篇: webpack+gulp实现自动构建部署
下一篇: pm2常用的命令用法介绍
SunsCheung
博客等级 码龄11年 30粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值