目录

  • 一、项目架构
  • 二、WEUI框架
  • 三、flickity手势滑动图片效果引入
  • 四、特殊字体引进
  • 五、fis3批量转化HTML文件中的资源路径
  • 六、node.js-http模块之根据不同请求地址返回不同页面
    • 1、使用说明
    • 2、代码实现

一、项目架构

项目包含CSS,HTML,images,js等静态资源文件,各自存放在以文件后缀名命名的文件夹下。

二、WEUI框架

1、框架说明

开发采用腾讯开发的WEUI样式,WEUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计。
官方地址:
1)UI演示:https://weui.io/
2)JQuery库:http://www.jqweui.cn/components
3)源码地址:https://github.com/Tencent/weui



2、引进方式
1、源码下载链接: WEUI;
2、打开下载后的项目目录,将weui-wxss-master\dist\style\weui.min引入自己项目对应文件夹下。
3、jQuery WeUI 依赖 weui.css 和 jQuery,jQuery 的版本至少在 V1.7.0 以上。
4、HTML引入:

<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0"><title>火车票搜索结果页</title><!-- 引入 WeUI --><link rel="stylesheet" href="../css/weui.min.css">
</head>

5、其他方式引入:根据项目使用的对应框架的要求引入。
6、根据对应模块将源码放入到本项目中。

三、flickity手势滑动图片效果引入

1、官网地址:https://flickity.metafizzy.co/

2、下载后将flickity-docs.min.css和flickity-docs.min.js分别添加到自身项目中,并添加对应的指向。
3、布局修改,隐藏左右按钮及下方滑动条。

//隐藏左右按钮
.flickity-button {display: none;
}
//隐藏下方滑动条
.flickity-page-dots {display: none;
}

4、呈现效果

四、特殊字体引进

1、特殊字体下载:http://www.downcc.com/font/326030.html
2、下载后将资源放置到项目目录下;
3、在CSS中引进特殊字体引进:

@font-face {
font-family: SourceHanSansCN-Medium;
src: url('../ttf/SourceHanSansCN-Medium.ttf');
}
@font-face {
font-family: SourceHanSansCN-Regular;
src: url('../ttf/SourceHanSansCN-Regular.ttf');
}

4、对应模块使用特殊字体:

.style-main {font-family: SourceHanSansCN-Medium, serif;font-size: 16px;color:#2F2F2F;
}

五、fis3批量转化HTML文件中的资源路径

1、说明
HTML项目代码中,前端静态页面往往包含了大量资源文件,如CSS、JS、PNG、JPG等。本地开发时往往指向本地相对路径,在服务器部署时往往要更换为资源在服务器上部署的路径,这个时候通常采用前端工程构建工具fis3

2、官网链接:

官网链接:http://fis.baidu.com/

3、本地环境支持部署:
1)本地支持node.js:https://nodejs.org
2)查看nodejs的版本号:在命令行输入node -v;
3)查看npm的版本号 在命令行输入npm -v;
4)安装fis3(采用淘宝镜像,正常安装指令由于网络问题一直失败)

正常安装指令(基本失败):npm install -g fis3
淘宝镜像指令安装:npm install fis3 -g --registry=http://registry.npm.taobao.org/ --disturl=https://npm.taobao.org/dist

4、项目新增 fis-conf.js 文件,文件中添加以下代码:

//匹配后缀为js、css、png的命令,并添加前缀地址
fis.match('*.{js,css,png}',{domain:'http://127.0.0.1'
});
// 执行工作指令
fis release -d ../output // 表示将目标文件处理后放在 output 文件夹中

5、运行 fis-conf.js文件

六、node.js-http模块之根据不同请求地址返回不同页面

1、使用说明

无框架的静态HTML页面希望实现根据客户端调用请求返回不同结果的HTML页面的功能;Node.js 标准库提供了HTTP模块,可以支持根据客户端不同的请求响应返回不同的处理结果。

2、代码实现

//引进http模块
var http = require("http")
//引进fs模块
var fs = require("fs")
// 创建http响应请求
var server = http.createServer(function(req,res){//获取请求URL中的内容,并根据不同请求地址指向本地不同页面var path = req.url;if(path === /index.html"){path = "/html/search.html";}else if(path === "/index.html?query=%E4%B8%AD%E5%9B%BD%E7%A7%BB%E5%8A%A8"){path = "/html/cmcc_result.html";}else if(path === "/index.html?query=%E7%81%AB%E8%BD%A6%E7%A5%A8"){path = "/html/train_result.html";}//其他静态资源加载staticFile(res,path);
})function staticFile(res,path) {//获取全局目录,完成本地静态页面地址拼接var path = __dirname + path;//文件流形式读取页面资源fs.readFile(path, function (err, stdout, stderr) {if (!err) {var data = stdout;//解析文件后缀var type = path.substr(path.lastIndexOf(".") + 1, path.length);//在这里设置文件类型,告诉浏览器解析方式res.writeHead(200, {'Content-type': "text/" + type});    //写入资源res.write(data);}//结束res.end();})
}
//定义服务器监听地址和端口,启动服务
server.listen(8080, '127.0.0.1', () => {const addr = `http://127.0.0.1:8080`;console.info(`Server started`);
})

前端开发【WEUI框架H5网页开发】—— WEUI+Node.js+fis3 项目开发相关推荐

  1. rds基于什么开发_为什么不学基于TypeScript的Node.js服务端开发?

    为什么不学?学不动了吗?!别躺下啊,我扶你起来! 我们早就知道,如今的JavaScript已经不再是当初那个在浏览器网页中写写简单的表单验证.没事弹个alert框吓吓人的龙套角色了.借助基于v8引擎的 ...

  2. Vue.js+Node.js全栈开发教程:通过Visual Studio Code开发调试Node应用

    目前,有多种开发工具可以支持Node.js应用的开发,比如: jetBrains WebStorm.Eclipse.Visual Studio Code等.这些开发工 具原则上是"条条大路通 ...

  3. 《Node.js区块链开发》PDF版电子书下载

    <Node.js区块链开发> 内容简介: 开发人员.本书涉及前端.后台的方方面面,无论是前端开发人员,还是后台开发者都可以学习参考. 架构师.区块链本身是分布式.云计算的典范,本书详细描述 ...

  4. 《Node.js区块链开发》一3.5 亿书对DPoS机制的改进

    本节书摘来华章计算机<Node.js区块链开发>一书中的第3章 ,第3.5节,朱志文 著 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.5 亿书对DPoS ...

  5. Node.js和NoSQL开发比特币加密货币应用程序(下)

    在使用Node.js和NoSQL开发比特币加密货币应用程序(上)中,我们创建了HD钱包,它可以为给定的种子生成无限量的密钥,每个密钥代表一个用户钱包.我们将根据主种子创建每个包含钱包的用户帐户.下面我 ...

  6. Node.js模块化开发||Node.js中模块化开发规范

    JavaScript开发弊端 a.js b.js JavaScript在使用时存在两大问题,文件依赖和命名冲突. 生活中的模块化开发 软件中的模块化开发 app.j user.一个功能就是一个模块,多 ...

  7. 《Node.js区块链开发》——1.6 参考

    本节书摘来自华章计算机<Node.js区块链开发>一书中的第1章,第1.6节,作者 朱志文,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.6 参考 < ...

  8. 《Node.js区块链开发》

    <Node.js区块链开发> [注]基于ES6的最新版,正在筹划中. 特别说明 亿书,让有知识的人富起来.我们的产品,将全部基于P2P网络进行开发设计,面向未来进行技术研发. 纸质书籍:h ...

  9. 【Node学习】—Node.js中模块化开发的规范

    [Node学习]-Node.js中模块化开发的规范 Node.js 规定一个JavaScript就是一个模块,模块内部定义的变量和函数默认情况下在外部无法得到 模块化内部可以使用exports对象进行 ...

  10. Node.js 从零开发web server博客项目--项目初始化

    本篇博客记录了<Node.js 从零开发web server博客项目>的原生开发系列内容. 开篇主要介绍原生项目的搭建,以及初步的项目结构设计. 一.项目初始化 新建项目目录,并进入到项目 ...

最新文章

  1. LeetCode简单题之换酒问题
  2. WF4.0实战(四):博客申请流程
  3. OpenCV3.0.0下的视频稳像代码,效果不错哦
  4. Ubuntu16.04下创建工作空间并添加自己的功能包(python代码)
  5. C/C++基础知识点(四)
  6. 2-5:套接字(Socket)编程之从内核角度深入理解套接字
  7. gcc: internal compiler error: Killed (program cci)错误
  8. C++类继承 函数调用顺序
  9. WCFSVC文件的分离
  10. windows平台vs2010编译64位libiconv与libxml2
  11. 安装fusionPBX
  12. 月薪过7万可落户北京,程序员是逃离还是死磕到底?
  13. python怎么启动mne_mne-python 安装大法
  14. QuTrunk与Paddle结合实践--VQA算法示例
  15. Python数据处理基础操作
  16. Five nines
  17. 自然语言处理入门(5)——基于WordArt的AGM手机评论词频分析
  18. TDengine与InfluxDB性能对比
  19. 用Python编写的五子棋程序1.0版
  20. Linux系统查看mq死信队列,MQ死信队列中持续出现本地系统对象产生的数据

热门文章

  1. 蚂蚁Java高端培训视频教程-每特学院,蚂蚁课堂
  2. springboot项目java生成kml文件
  3. 没钱充会员 百度网盘下载限速怎么办?这些招可以突破百度网盘非会员限速限制
  4. uniapp滑动图片验证
  5. 自适应迁移学习核极限学习机KELM用于分类
  6. C语言素数判断算法分析
  7. Linux C | 查看二进制文件的小工具HexView
  8. gxworks2软件测试对话框,超实用!GX Works2软件的启动与窗口功能应用
  9. mysql驱动和url在5.7以上版本变化
  10. 【第十届“泰迪杯”数据挖掘挑战赛】B题:电力系统负荷预测分析 Baseline