zoukankan      html  css  js  c++  java
  • 前后端分离开发脚手架

    描述

    这是一个是针对于页面比较繁多的非单页面应用的官网开发脚手架。打包工具使用的是gulp,还用到了require引入资源的方式,样式编写时用的less,页面的模板和后台的交互显示是使用的art-template(下面有详细描述这个插件)
    项目地址

    如何使用

    1. 下载项目

      $ git clone git@github.com:HuYuee/web-starter-kit.git
      
    2. 安装依赖

      $ cd web-starter-kit && npm install
      
    3. 启动页面,访问http://localhost:3333/src/html/index.html

      $ npm run start
      
    4. 产出最终工程

      $ npm run build
      

    目录结构

    • bin
      • render.js——(在gulpfile文件中使用到)解析layout中的模板html,将完整的html产出到src/html中
    • dist——产出目录(在项目下运行npm run build就可以将src下相关资源产出到该目录)
    • src——开发目录(只需在该目录下开发即可)
      • conf——配置文件目录
      • css——由less文件生成的的css文件
      • data——mock数据文件夹
      • html——由layout中的html文件解析出来的最终html文件
      • images——图片文件夹
      • js——js文件夹(js相关在此文件夹中开发
      • layout——html的源文件夹(html在该文件夹中开发
      • less——less文件夹(样式相关的在该文件夹中开发
      • vendor——第三方库
      • widget——公用的layout中使用的模板(模板在该文件夹中开发

    如何新建页面

    1. 新建html

      src/layout文件夹中新建page1.html,在代码可以引入部门公用html模板,也可以写自己定制的代码。这里需要明确的说一点:在html中的底部会加入require引入,这里必须要写入页面在require中对应的配置名称,比如下面的page1。如果只是测试可以拷入以下代码:

      <!DOCTYPE html>
      <html>
      <head>
          <!-- ws: 引入公共样式 -->
          {{{include '../widget/public_style'}}}
          <!-- we: 引入公共样式 -->
      </head>
      <body style="visibility:hidden;">
          <h1>这里是page1的内容</h1>
          <a href="index.html">点击回首页</a>
          <!--ws: 公共Script -->
          {{{include '../widget/public_script'}}}
          <!--we: 公共Script -->
          <script>
          //通过require的方式来引入需要的js
            require( ['page1'], function() {
            });
          </script>
      </body>
      </html>
      
    2. 新建样式文件

      src/less/page文件夹中新建page1.less,在代码中可以引入公共的less模板,也可以自己写。如果是测试可以拷入以下代码:

      // 引入基本样式
      @import '../widget/common.less';
      
          h1 {
              font-size: 25px;
          }
      
    3. 新建js文件

      src/js文件夹下新建page1文件夹,然后在page1文件夹下新建文件page1.js。里面可以通过require语法引入其他js。可以拷入以下代码进行测试:

      define(["jquery", "data", "template"], function($, d, template) {
          $("body").css("visibility", "visible");
      
      });
      
    4. 配置require

      src/conf/require.config.js中配置新加入的js和css,如下图所示:

    image.png

    1. 当然如果你再别的方面还需要进行增加或者修改可以到相应的目录下去修改,比如图片在images中修改,第三方插件在vendor中加入。

    2. 最后你可以访问[http://localhost:3334/src/html/page1.html

    使用到的技术

    • require:实现模块化开发
    • mock:实现本地模拟服务器端返回数据
    • browsersync:启动本地浏览页面,并实现当源码更改时页面实时刷新
    • art-template:使用到了html模块化封装,还有js模板
    • gulp-autoprefixer:使用gulp-autoprefixer根据设置浏览器版本自动处理浏览器前缀
    • 图片压缩,less转css,css和js压缩,css生成sourcemap
  • 相关阅读:
    003 Leaflet 第三个demo 地图上的面积测量
    002 Leaflet 第二个demo 地图上的矩形拉框选择
    001 Leaflet 第一个demo 加载天地图
    This关键字,打印花瓣的数量
    Myeclipse8.5 添加Tomcat7
    WGS84经纬度 与 web 墨卡托相互转化 工具类
    java list集合去重复
    response 下载文件
    jquery实现可拖拽的div
    linux 前端环境搭建
  • 原文地址:https://www.cnblogs.com/olddoublemoon/p/7220323.html
Copyright © 2011-2022 走看看