使用npm构建前端项目基本流程
现在各种前端框架, 库文件基本都托管到npm上, 我们平常下载到别人的项目文件, 也基本是用npm
构建的, 不了解点node和npm那是寸步难行.
下面介绍的代码示例不敢说是最佳实践, 但都是我亲自在自己机器上测试有效的.
测试环境: win10, node v8.4, npm v5.3.
package.json
package.json文件非常重要, 我们拿到别人的项目第1眼便是看package.json里有什么, 我们自己
创建个新项目, 首先就要创建好package.json文件.
假设我们的项目需要使用jQuery, 我们新建一个demo目录, 并在里面新建一个package.json.
把下面这些基本模板内容, 复制粘贴进去.
{
"name": "demo",
"version": "1.0.0",
"description": "sdsd",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "sheng",
"license": "MIT",
"keywords": [
"key1",
"key2"
],
"dependencies": {},
"devDependencies": {},
"repository": {
"type": "git",
"url": "test-repo"
}
}
文件编码建议使用UTF-8, 换行建议使用LF
上面的JSON文件, 就对我们的demo项目作了最简单的描述.
name 项目名称, 默认使用项目文件夹名.
version 项目版本, 默认版本为1.0.0.
description 项目描述, 简要说明我们的项目是干啥的.
main 指定项目的入口文件.
scripts 测试脚本.
author 项目作者.
license 项目使用的协议.
repository 项目所在的远程仓库, 比如在GitHub上.
keywords 项目关键字.
dependencies 生产环境中项目依赖
devDependencies 开发环境中项目依赖
关于项目的一堆描述, 在我们初学阶段, 感觉都无关紧要, 什么项目名字, 版本, 作者之类, 大家
随便写写就行. 我们只关注两个重要的项目描述dependencies和devDependencies, 它
分别表示在生成环境所需的项目依赖, 和在开发环境中所需要的项目依赖. 初学阶段这两个也不用,
可以区分, 统一理解为是我们需要的项目依赖即可.
打开cmd系统命令行, 切换到当前项目目录, 对于我的机器来说是
D:\Asheng_IDE\FrontEnd\study_tree\react\demo, 接下来输入npm安装命令npm install jquery.

这一步骤执行完毕之后, 我们会发现在我们的项目目录里多了一个文件夹node_modules, 可以看到
里面有一个文件夹jquery, 这正是我们安装的包. 我们还发现项目目录里多了一个package-lock.json,
文件, 这是npm自动为我们创建的, 打开这个文件我们可以看到里面写有jquery依赖信息, 不用管它.
再打开, 我们自己创建的package.json文件, 发现在dependencies栏目下, 已经添加上了jquery依赖
信息.

手动修改package.json文件
手动修改package.json文件即可方便的实现, 对依赖包的安装, 移除, 更新等功能. 方法很简单, 比如
把上面我们依赖信息中的"jquery": "^3.2.1", 直接删除, 在执行npm install, npm就会自动同步
package.json的依赖情况, 也就是会把我们已经下载好的jquery包, 删除. 如果项目里只依赖一个包,
而我们又把这个包在package.json中的信息删除了, 那么npm直接把node_mudlues文件也一并删除.
使用npm构建前端项目基本流程的更多相关文章
- react-create-app 构建react项目的流程以及需要注意的地方
Hello 小伙伴们,如果觉得本文还不错,记得给个 star , 小伙伴们的 star 是我持续更新的动力!GitHub 地址 React 系列文章代码地址 一 目录 不折腾的前端,和咸鱼有什么区别 ...
- vue 构建前端项目并关联github
这几天尝试用node开发一个网站,后端的接口已经初步开发完成,现在开始构建前端的项目,记录下过程,在学习下吧. 用vue-cli 构建项目,myproject.(构架过程略过) 每次在本地构建项目后和 ...
- 如何使用Docker构建前端项目
原文链接 Docker单独部署前端项目和Node项目是非常便捷的,在这里分享一下Docker的使用,主要聊聊它的部署实践.(我是window10专业版安装Docker) Docker Docker是一 ...
- npm打包前端项目太慢问题分析以及暂时解决方案
npm build 打包前端项目实际上是执行 node build/build.js,但是随着项目的依赖包越来越多,项目打包时间不断延长,为了改善这个问题,需要从node入手 暂时解决方案:扩大nod ...
- 关于npm构建angular2项目问题
我在win10系统下用npm构建好angular2项目之后,在命令行下运行 ng serve --open,报一下错误: Unknown browser query 'basedir=$(dirnam ...
- react构建前端项目方法汇总
react简介: 一.使用react 创建一个PC端的项目 (a):使用 yemon 创建一个 webpack 的 react 的项目 控制台安装并且产看 yemon 的版本 yo -v (b): 全 ...
- npm构建vue项目
环境搭建 我们需要先从node.js官网安装node,安装过程很简单,一路“下一步”就可以了(傻瓜式安装). 安装完成之后,打开命令行工具(Mac打开终端),输入 node -v,如图,如果出现相应的 ...
- Webpack构建前端项目
前言 公司据说要搞前后端分离,趁这两天项目完成的差不多,抓紧时间学习一下前端知识 现在流行前端项目工程化,那么第一个问题就是如何创建工程(项目),第一次玩webpack 通过 NPM 创建项目 # 创 ...
- jenkins自动构建前端项目(window,vue)
我们把一个多人协作的vue前端项目发布服务器,一般要经过以下步骤: git更新最新的代码 构建项目 把构建后的代码上传到服务器 如果用jenkins来构建的话,只需要点击一次构建按钮,就可以自动完成以 ...
随机推荐
- Android之2D图形(圆、直线、点)工具类 (持续更新)
public class Circle { private PointF centerPoint; private float radius; public PointF getCenterPoint ...
- hadoop本地化运行
mr的三种运行方式 第一种,打成jar包,在hadoop上运行 第二种,driver端在本地,通过ide连接linux上的hdfs 第三种,windows本地运行 hadoop_dll2.6.0_64 ...
- ef6 code first with Oracle 试玩记录
对于oracle 使用code first 这边文章不错: http://www.cnblogs.com/wlflovenet/p/4187455.html 补充一下: 文章中提到machine.co ...
- 日历类Calendar
在早期的JDK版本中,日期(Date)类附有两大功能:(1)允许用年.月.日.时.分.秒来解释日期:(2)允许对表示日期的字符串进行格式化和句法分析.在JDK1.1中提供了类Calendar来完成第一 ...
- 在线生成条形码的解决方案(39码、EAN-13)
感谢博主:转自:http://xoyozo.eyuyao.com/blog/barcode.html public partial class ReceivablesFormView : System ...
- linux 内核经典面试题
http://blog.chinaunix.net/uid-25909619-id-3376158.html
- canvas图片base64编码后,ajax提交到后台
如题,直接上JS var imgData = canvas.toDataURL("image/png"); var data = imgData.substr(22); $.pos ...
- Java深入理解文章(转载)
引用自:http://droidyue.com/ninki/ JVM运行时的数据区 http://droidyue.com/blog/2014/12/21/java-runtime-data-area ...
- Objective-C中的instancetype和id关键字(转)
转自:Objective-C中的instancetype和id关键字 一.什么是instancetype 同id一样,都是表示未知类型的的对象. 二.关联返回类型(related result typ ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)4.3——排除任务
问题: 你想要在构建进程当中排除指定的任务. 解决方案: 可以使用-x排除单个任务.编辑task graph排除多个任务. 讨论: Gradle的构建进程包含了许多任务的执行顺序.他们中的大多数都依赖 ...