现在各种前端框架, 库文件基本都托管到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 开发环境中项目依赖

关于项目的一堆描述, 在我们初学阶段, 感觉都无关紧要, 什么项目名字, 版本, 作者之类, 大家

随便写写就行. 我们只关注两个重要的项目描述dependenciesdevDependencies, 它

分别表示在生成环境所需的项目依赖, 和在开发环境中所需要的项目依赖. 初学阶段这两个也不用,

可以区分, 统一理解为是我们需要的项目依赖即可.

打开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构建前端项目基本流程的更多相关文章

  1. react-create-app 构建react项目的流程以及需要注意的地方

    Hello 小伙伴们,如果觉得本文还不错,记得给个 star , 小伙伴们的 star 是我持续更新的动力!GitHub 地址 React 系列文章代码地址 一 目录 不折腾的前端,和咸鱼有什么区别 ...

  2. vue 构建前端项目并关联github

    这几天尝试用node开发一个网站,后端的接口已经初步开发完成,现在开始构建前端的项目,记录下过程,在学习下吧. 用vue-cli 构建项目,myproject.(构架过程略过) 每次在本地构建项目后和 ...

  3. 如何使用Docker构建前端项目

    原文链接 Docker单独部署前端项目和Node项目是非常便捷的,在这里分享一下Docker的使用,主要聊聊它的部署实践.(我是window10专业版安装Docker) Docker Docker是一 ...

  4. npm打包前端项目太慢问题分析以及暂时解决方案

    npm build 打包前端项目实际上是执行 node build/build.js,但是随着项目的依赖包越来越多,项目打包时间不断延长,为了改善这个问题,需要从node入手 暂时解决方案:扩大nod ...

  5. 关于npm构建angular2项目问题

    我在win10系统下用npm构建好angular2项目之后,在命令行下运行 ng serve --open,报一下错误: Unknown browser query 'basedir=$(dirnam ...

  6. react构建前端项目方法汇总

    react简介: 一.使用react 创建一个PC端的项目 (a):使用 yemon 创建一个 webpack 的 react 的项目 控制台安装并且产看 yemon 的版本 yo -v (b): 全 ...

  7. npm构建vue项目

    环境搭建 我们需要先从node.js官网安装node,安装过程很简单,一路“下一步”就可以了(傻瓜式安装). 安装完成之后,打开命令行工具(Mac打开终端),输入 node -v,如图,如果出现相应的 ...

  8. Webpack构建前端项目

    前言 公司据说要搞前后端分离,趁这两天项目完成的差不多,抓紧时间学习一下前端知识 现在流行前端项目工程化,那么第一个问题就是如何创建工程(项目),第一次玩webpack 通过 NPM 创建项目 # 创 ...

  9. jenkins自动构建前端项目(window,vue)

    我们把一个多人协作的vue前端项目发布服务器,一般要经过以下步骤: git更新最新的代码 构建项目 把构建后的代码上传到服务器 如果用jenkins来构建的话,只需要点击一次构建按钮,就可以自动完成以 ...

随机推荐

  1. shell script 在if 的判断条件正则表达式=~中引号问题

    今天在脚本里运行if判断的时候,总是进不了对应的分支,检查正则表达式也没有错误.单独拿到shell里面执行还是显示没有匹配.比较奇怪,就搜了下,才发现是在=~ 后面的正则表达式上不能加上引号,而且以点 ...

  2. 使用SWT技术的跨平台移动应用开发库Tabris

    1. http://developer.eclipsesource.com/tabris/ 2. 多平台.原生程序级别的性能 3. 开源/教育性的项目免费,意思就是商业项目收费 4. 目标,让懂jav ...

  3. 飞思卡尔烧写工具mfgtools的使用

    MFGTool是飞思卡尔提供的烧写工具,使用起来非常方便.但是,在使用MFGTool有几点是需要注意的,否则就会在烧写过程中遇到一些问题: 1.在使用MFGTool前,文件cfg.ini 和 UICf ...

  4. docker构建测试环境

    构建测试环境首先要根据自己的需求,构建出适合自己项目的image,有了自己的image,就可以快速的搭建出来一套测试环境了. 下边就说一下构建image的两种方式. 1.DOCKFILE创建文件夹:m ...

  5. poj3422 拆点法x->x'建立两条边+最小费用最大流

    /** 题目:poj3422 拆点法+最小费用最大流 链接:http://poj.org/problem?id=3422 题意:给定n*n的矩阵,含有元素值,初始sum=0.每次从最左上角开始出发,每 ...

  6. IntelliJ IDEA常用快捷键小结

    IntelliJ Idea 常用快捷键列表 Ctrl+Alt+t 选择代码块 try catch Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+ ...

  7. Linux下杀毒软件clamav的安装和使用

    发表于:2017年6月30日 分类:Linux/Unix   最近发现有台服务器中毒了,手动去查杀总是会有遗漏,最后安装了Linux下的杀毒软件clamav,使用起来还是不错的. 环境:Linux 6 ...

  8. landa语法

    sg_orm看当前sql信息 db.IsEnableLogEvent = true; db.LogEventStarting = (sql, pa) => { var t = 0; }; //出 ...

  9. 基于Jquery的实现回车键Enter切换焦点

    系统默认情况下,使用Tab按键切换页面元素的焦点,有没有想过回车键Enter也可以实现这种功能,并且具有良好的用户体验. 接下来我们使用Jquery实现回车键Enter切换焦点,此代码在常用浏览器IE ...

  10. NSTimer的循环引用

    在日常开发中想到会引起循环引用的一般比较容易想起的是 1.delegate 2.block 今天要说的就是另外一个,NSTimer 这个比较容易会被忽略掉 简单的说就是创建timer为成员变量的时候t ...