热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前端资源多个产品整站一键打包&包版本管理(一)

来新公司工作的第五个月、整站资源打包管理也提上了日程。问题:首先、什么是整站的打包管理呢?我们公司的几个重要产品都在同一个webapp里面,但是,不同的开发部门独立开发不同的产品,长期以来

来新公司工作的第五个月、整站资源打包管理也提上了日程。

问题:

首先、什么是整站的打包管理呢?

我们公司的几个重要产品都在同一个webapp里面,但是,不同的开发部门独立开发不同的产品,长期以来,我们就不知道其他部门的在做什么,或许我们正在头疼的问题,隔壁部门已经早早解决了呢?

各个部门的前端资源也是到处都是、难以管理、于是就提出了整站资源共享、整站资源共享的前提就是资源打包能统一、在几个产品里面、既有使用grunt的也有使用glup的,各个产品引入的包的版本也不一样。

目标:

统一打包工具

对于公用的包使用bower包管理工具统一管理

自定义的包不计入bower范围内

实现整站一键打包

 

首先就是要统一打包工具,经过讨论,我们统一使用gulp来打包前端资源

(本地环境要求:node.js npm gulp bower sass less)

 node.js 可以到官网下载

 https://nodejs.org/en/

 一路next就可以了

 安装好之后我们打开控制台可以查看版本

node -v
v6.2.0

继续查看npm版本

npm -v
3.9.5

接下来安装gulp(前端资源打包工具)

npm install gulp -g  //全局安装
gulp -v                 //检测版本、是否安装成功
CLI version 3.9.1    //显示版本、安装成功

 

bower 安装(前端资源管理工具)

pm install bower -g  //全局安装bower
bower -v   //检查bower安装是否成功
1.7.9    //成功返回版本

 sass 安装首先要安装ruby

安装完ruby之后,在开始菜单中,找到刚才我们安装的ruby,打开Start Command Prompt with Ruby

gem install sass //安装sass
sass -v      //查看sass版本
Sass 3.4.22 (Selective Steve) //返回版本号则成功安装

sass安装不了的童鞋可以使用淘宝镜像或者翻个墙~

 

1、首先配置package.json文件

   在webapp下新建package.json文件,并进行配置

{
    "name": "platform",
    "description": "platform前端自动构建配置文件",
    "version": "1.0.0",
    "private": "true",
    "readme": "README",
    "author": "何Mickey",
    "homepage": "",
    "engines": {
        "node": ">=6.2.2"
    },
    "scripts": {
        "only-once": "npm install --save-dev --registry=https:\/\/registry.npm.taobao.org && gulp bower && bower install --registry=https:\/\/registry.npm.taobao.org"
    },
    "main": "Gulpfile.js",
    "dependencies": {
        "del": "~2.2.1",
        "gulp": "~3.9.1",
        "gulp-add-src": "^0.2.0",
        "gulp-clean": "~0.3.2",
        "gulp-clean-css": "~2.0.10",
        "gulp-concat": "~2.6.0",
        "gulp-csscomb": "~3.0.7",
        "gulp-imagemin": "~3.0.1",
        "gulp-less": "~3.1.0",
        "gulp-modify": "~0.1.1",
        "gulp-rename": "~1.2.2",
        "gulp-rev": "~7.1.0",
        "gulp-sass": "~2.3.2",
        "gulp-sort": "~2.0.0",
        "gulp-sourcemaps": "~1.6.0",
        "gulp-strip-comments": "~2.4.3",
        "gulp-sync": "~0.1.4",
        "gulp-uglify": "~1.5.4",
        "less-plugin-autoprefix": "~1.5.1",
        "pump": "~1.0.1",
        "uglify-js": "~2.7.0"
    }
}

  说明:dependencies 就是我们打包时需要用到的包、可以在npm社区或者github里面找到具体用法、接下来我会对包的用法进行进一步的讲解

  保存好package.json后 我们用命令行输入

npm install

    安装工具的过程可能会有点久,有时网络不行会出现卡顿、

 最后整理出来的目录

 

 先写这么多.......明天继续

 

  

 


推荐阅读
  • 使用 NDB 提升 Node.js 应用调试体验
    本文介绍了由 Google Chrome 实验室推出的新一代 Node.js 调试工具 NDB,旨在为开发者提供更加高效和便捷的调试解决方案。 ... [详细]
  • 本文探讨了前端包管理器的核心功能,包括注册机制、文件存储、上传下载、以及依赖分析等关键特性,并介绍了几种流行的前端包管理工具。 ... [详细]
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • Vue 项目构建与部署指南
    本文将指导您完成Vue项目的构建和部署过程,包括环境搭建、项目初始化及配置、以及最终的部署步骤。 ... [详细]
  • 了解如何快速搭建属于自己的个人博客,无需编程基础,适合Mac和Windows用户。通过本文,您将学会使用GitHub Pages和Hexo构建一个完全自主的在线空间。 ... [详细]
  • 腾讯视频 Node.js 服务国庆阅兵直播高并发实战
    本文分享了腾讯视频团队在国庆阅兵直播项目中,如何利用Node.js服务成功应对2.38亿次观看的高并发挑战。文章将从服务架构、可用性保障、缓存策略、日志与告警等方面详细解析。 ... [详细]
  • 本文详细介绍了如何在Linux系统中安装和配置Node.js,包括从官方下载、编译安装到运行基本示例的全过程。 ... [详细]
  • Node.js中子进程的创建与管理详解
    本文深入探讨了Node.js中如何使用child_process模块来创建和管理子进程,包括exec、spawn和fork三种方法的具体应用及其实现细节。 ... [详细]
  • Node.js 开发入门:环境搭建与配置
    随着Node.js技术的日益成熟及其即将发布的1.0稳定版,越来越多的开发者开始关注并尝试这一高性能的服务器端JavaScript平台。本文将引导读者如何在Windows环境下安装配置Node.js,并介绍一些常用的开发工具和框架。 ... [详细]
  • 利用NVM实现Node.js多版本管理
    本文详细介绍如何使用NVM(Node Version Manager)进行Node.js的多版本管理,包括安装配置、版本切换等操作。 ... [详细]
  • 在寻找轻量级Ruby Web框架的过程中,您可能会遇到Sinatra和Ramaze。两者都以简洁、轻便著称,但它们之间存在一些关键区别。本文将探讨这些差异,并提供详细的分析,帮助您做出最佳选择。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 利用 Jest 和 Supertest 实现接口测试的全面指南
    本文深入探讨了如何使用 Jest 和 Supertest 进行接口测试,通过实际案例详细解析了测试环境的搭建、测试用例的编写以及异步测试的处理方法。 ... [详细]
  • 本文深入探讨了 Prototype.js 框架及其与 JavaScript 原生 toString() 方法之间的区别,适合对前端开发感兴趣的开发者阅读。文章将帮助读者理解两者在功能实现和应用场景上的不同,从而更好地利用这些工具进行高效编程。 ... [详细]
author-avatar
手机用户2702932800
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有