使用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来构建的话,只需要点击一次构建按钮,就可以自动完成以 ...
随机推荐
- 跟着百度学PHP[17]-PHP扩展CURL的用法详解
实现的功能: 1.实现远程获取和采集内容2.实现PHP 网页版的FTP上传下载3.实现模拟登陆:去一个邮件系统,curl可以模拟cookies4.实现接口对接(API),数据传输等:通过一个平台发送短 ...
- sqoop从hdfs 中导出数据到mysql
bin/sqoop export \ --connect "jdbc:mysql://mini1:3306/study?useUnicode=true&characterEncodi ...
- Unix系统编程(一)
主要内容:文件输入/输出的系统调用. 在Linux中,万事万物皆文件. 文件描述符的概念 通用I/O模型的系统调用: 打开文件 open 关闭文件 close 向文件写数据 write 从文件读数据 ...
- sds(简单动态字符串) 内存预分配优化策略
* 1024 , 也就是说. 当大小小于 1MB 的字符串运行追加操作时,sdsMakeRoomFor 就为它们分配多于所需大小一倍的空间: 当字符串的大小大于 1MB . 那么 sdsMakeRoo ...
- 【Selenium】之谷歌、IE、火狐浏览器各个版本的浏览器驱动下载地址
地址:chromedriver官网下载地址: http://chromedriver.storage.googleapis.com/index.html(失效了) http://npm.taobao. ...
- jQuery-对Select的操作集合[终结篇]
jQuery获取Select选择的Text和Value: 请选择 C# Javascript jQuery C++ Java VB 选择一项试试看语法解释:1. $("#select_id ...
- Apollo 刨析:简介
Apollo是配置在IIS服务器上的一个Web站点,它使用了.NET4.0和ASP.Net的技术. 代码是C#编写的.是基于ASP.NET MVC3的Web开发框架上编写的一个应用. 它使用到了N ...
- C#从Excel中读取数据为空
将HDR设置为YES,IMEX设置为1即可. OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.ACE.OL ...
- windows server 服务器添加免费域名证书的方法(Let's Encrypt)
在 windows server 服务器上可以通过 win-acme工具添加ssl 1.首先下载工具 https://github.com/PKISharp/win-acme/releases 最新版 ...
- RequireJS禁止缓存
通过配置文件可以禁止加载缓存的JS文件, 这个在开发过程中非常有用具体做法如下 require.config({ paths: { "E":"/Scripts/MyMod ...