什么是Webpack

Webpack是一款模块加载器兼打包工具,他能把各种资源,比如js,css,less转化成一个静态文件,减少页面的请求,提高效率

安装Webpack

在安装webpack之前,我们需要先了解一下nodejs,并且安装nodejs

Nodejs

什么是Node.js

(1)之前学过java,运行java需要安装的jdk环境

学习的这个Node.js,是JavaScript的运行环境,用于执行Javascript代码环境

不需要浏览器,直接使用node.js运行Jasvascript代码

(2)模拟服务器效果,比如tomcat

安装Node.js

  1. 安装nodejs,去官网,一路next安装

  2. 确定nodejs是否安装成功

cmd输入node -v,查看是否正确打印出版本号

E:\>node -v
v12.18.2

使用例子

使用nodejs执行javascript代码

服务器端应用开发

const http = require('http');
http.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// 发送响应数据 "Hello World"
response.end('Hello Server');
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

NPM

什么是NPM

(1)在后端开发中,使用过maven,maven构建项目,管理下载jar依赖

npm类似于maven,用在前端中,管理前端js依赖。联网下载js依赖,比如JQuery

安装NPM

在安装nodejs的时候,会随便把npm一起安装

#查看版本
E:\>npm -v
6.14.5

npm具体操作

npm项目初始化操作

npm init

npm -init -y 使用的都是默认值,就不需要去输入回车确定

#name: 项目名称
#version: 项目版本号
#description: 项目描述
#keywords: {Array}关键词,便于用户搜索到我们的项目
#最后会生成package.json文件,这个是包的配置文件,相当于maven的pom.xml

npm下载js依赖

修改npm镜像

//切换镜像安装一下nrm
npm config set registry http://registry.npm.taobao.org
//安装nrm
npm install -g nrm
//查看镜像列表
nrm ls
//切换镜像
nrm use taobao

如果在执行nrm ls报错,参考链接:https://blog.csdn.net/S_aitama/article/details/113706339

当我们修改好镜像之后,就可以进行下载了,比如JQuery

进入到项目的目录中,然后install

也可以根据package.json文件下载依赖

npm install

分析和安装完nodejs和npm,我们继续回到webpack

注意:webpack-cli的横线之间不要有空格,不然在测试的时候输入:webpack -v会显示如下

(base) D:\Project\vue\vue-second\myvue>webpack -v
One CLI for webpack must be installed. These are recommended choices, delivered as separate packages:
- webpack-cli (https://github.com/webpack/webpack-cli)
The original webpack full-featured CLI.
We will use "npm" to install the CLI via "npm install -D".
Do you want to install 'webpack-cli' (yes/no):
npm install webpack -g
npm install webpack-cli -g
#测试安装成功:
webpack -v
webpack-cli -v

使用webpack

  1. 创建项目(即新建文件夹,用idea打开)
  2. 编写js

    如果是js的话,可以省略 .js ,如果是css不可以省略 .css,而且也要安装css加载器
npm install --save-dev style-loader css-loader

3.添加配置文件(和src目录同级) webpack.config.js(文件名不能变)

const path = require("path"); //Node.js内置模块
module.exports = {
//配置js
entry: './src/index.js', //配置入口文件
output: {
path: path.resolve(__dirname, './dist'), //输出路径,__dirname:当前文件所在路,径
filename: 'bundle.js' //输出文件
},
//配置css
output:{},
module: {
rules: [
{
test: /\.css$/, //打包规则应用到以css结尾的文件上
use: ['style-loader', 'css-loader']
}
]
}
}
  1. 打包

输入webpack,你会发现在项目中会多一个文件夹dist

  1. 在html中引入包

【vue-06】webpack npm的更多相关文章

  1. 【vue iview】项目 win10 放在C盘 经常npm install不成功,就是因为 权限问题,把代码目录放到D盘就没事了。

    [vue iview]项目 win10 放在C盘 经常npm install不成功,就是因为 权限问题,把代码目录放到D盘就没事了.

  2. 【vue知识点】1)vue生命周期

    [vue知识点]2)vue登录认证

  3. 【Vue.js】代码优化:在dom中加一行v-if就可少写一个循环类方法

    [问题描述] 把当前用户的购物车中(cartList),商品(good)选中字段checked = true的商品在订单页面中进行展示出来. [一般做法](两次循环) 首先取出当前用户的购物车列表,循 ...

  4. 【前端工具】nodejs+npm+vue 安装(windows)

    预备 先看看这几个是干嘛的,相互的关系是啥. nodejs是语言,类比到php. npm是个包管理,类比到composer. vue是个框架,类比到laravel. webpack是个打包工具. 先下 ...

  5. 【vue环境】vue : 无法加载文件 C:\Users\1111111\AppData\Roaming\npm\vue.ps1,因为在此系统禁止运行脚本

    在用脚手架搭建vue项目时,提示:无法加载文件 C:\Users\1111111\AppData\Roaming\npm\vue.ps1,因为在此系统禁止运行脚本 这是你笔记本禁止运行脚本,解决办法 ...

  6. 【vue入门】日志demo,增删改查的练习(无vuex版本)

    安装 1. 确定电脑已装node和npm 出现版本号则说明电脑已经安装好node和npm2. 创建一个基于webpack的项目   3. 在项目里安装依赖 4. 运行 配置路由为了动态渲染各个页面的组 ...

  7. 【Vue 入门】使用 Vue2 开发一个展示项目列表的应用

    前言 一直没有找到一个合适的展示个人项目的模板,所以自己动手使用 Vue 写了一个.该模板基于 Markdown 文件进行配置,只需要按一定规则编写 Markdown 文件,然后使用一个 在线工具 转 ...

  8. 【vue学习】vue 2.0版本以上创建项目的的步骤

    一.环境准备 1.vue项目依赖 node.js npm,需要先安装node和npm,先检查本地是否安装node.npm 快捷键win+r   输入cmd  弹出操作框,如果电脑已经安装git,直接右 ...

  9. 【vue.js】windows下安装vue.js

    windows下搭建vue开发环境 Vue.js是一套构建用户界面的 “渐进式框架”.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常 ...

随机推荐

  1. 树莓派4刷FreeBSD

    树莓派4可以刷FreeBSD了.需要替换boot文件.​加群获得文件QQ交流群817507910.

  2. 翻译:《实用的Python编程》06_01_Iteration_protocol

    目录 | 上一节 (5.2 封装) | 下一节 (6.2 自定义迭代) 6.1 迭代协议 本节将探究迭代的底层过程. 迭代无处不在 许多对象都支持迭代: a = 'hello' for c in a: ...

  3. Linux—用户新建目录和文件的默认权限设置:umask详解

    关注微信公众号:CodingTechWork,一起学习进步. 引言   我们有没有思考过一个问题,在登录Linux系统后,我们创建的目录或者文件的权限,为什么每次创建都是统一的?我们做以下实验:新建一 ...

  4. Java中的IO流 - 入门篇

    前言 大家好啊,我是汤圆,今天给大家带来的是<Java中的IO流-入门篇>,希望对大家有帮助,谢谢 由于Java的IO类有很多,这就导致我刚开始学的时候,感觉很乱,每次用到都是上网搜,结果 ...

  5. LinkedList源码个人解读

    LinkedList的基本结构是双向链接的直线结构. 链表的构造函数有两个,其中空构造函数什么都没做,就是一个空实现. /** * Constructs an empty list. */ publi ...

  6. 我叫小M,立志建立MySQL帝国。

    我是小M,我在卡拉巴拉星球. 我喜欢数据,我立志成为一个数据管理者. 所以我来 Y 公司应聘,听说他们的数据量挺大的. 面试过程还是挺简单的. 我用 007 这三个数字就轻易打败了一堆吹嘘 996 的 ...

  7. 最小生成树,Prim和Kruskal的原理与实现

    文章首先于微信公众号:小K算法,关注第一时间获取更新信息 1 新农村建设 大清都亡了,我们村还没有通网.为了响应国家的新农村建设的号召,村里也开始了网络工程的建设. 穷乡僻壤,人烟稀少,如何布局网线, ...

  8. elasticsearch之Java调用本地代码

    虽然Java虚拟机为开发人员屏蔽了底层的实现细节,使得开发人员不用考虑底层操作系统的差异性.不过在某些应用程序中,还是免不了要直接与底层操作系统上的原生代码进行交互.今天我们就来看一下Java对本地调 ...

  9. js 更改json的 key

    let t = data.map(item => { return{ fee: item['费用'], companyName1: item.companyName, remark1: item ...

  10. Class类文件结构--访问标志

    访问标志的位置:在常量池结束之后的两个字节(16位)表示访问标志access_flags. 访问标志的作用:用于标识类或者接口层次的访问信息:比如该Class是类还是接口,是否为public类型.是否 ...