热门标签 | 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

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

 最后整理出来的目录

 

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

 

  

 


推荐阅读
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • css div中文字位置_超赞的 CSS 阴影技巧与细节
    本文的题目是CSS阴影技巧与细节。CSS阴影,却不一定是box-shadow与filter:drop-shadow,为啥?因为使用其他属性 ... [详细]
  • 前言:原本纠结于Web模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中ev ... [详细]
  • 前言:原本纠结于Web 模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中eval函数。虽然eval函 ... [详细]
  • 技术周报·2021-05-07-小编推荐向现代Javascript转型原文标题:Publish,ship,andinstallmodernJavaScriptforfaste ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • SQL Server 2008 到底需要使用哪些端口?
    SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
  • Rubyonrails开发人员在这里。此问题曾被问过。 ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
  • Spring MVC定制用户登录注销实现示例
    这篇文章描述了如何实现对SpringMVCWeb应用程序的自定义用户访问(登录注销)。作为前提,建议读者阅读这篇文章,其中介 ... [详细]
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社区 版权所有