webpack安装与配置初学者踩坑篇
webpack是基于nodejs开发出来的前端工具
webpack可以处理js文件的依赖关系,webpack能够处理js的兼容问题,把高级浏览器不识别的语法转换成浏览器正常识别的语法
(jnlp是基于task的,webpack是基于项目构建的)
新建项目所需要的各种文件和目录,基础代码

1.安装webpack
1) 全局安装
C:\Users\lmx>npm install webpack -g
C:\Users\lmx>npm install webpack-cli -g
C:\Users\lmx>npm insall webpack-dev-server -g
2) 项目安装
命令行当前文件路径
npm init -y
npm install webpack -D
npm install webpack-cli -D //由于webpack4之后不再包含webpack-li 所以需要单独安装,否则报错
npm install webpack-dev-server -D //用于自动打包生成bundle.js
2. 项目运行
1) 运行方式一:`webpack`命令
错误解决一:

提示使用development模式还是production模式,可以使用 `webpack --mode development` 也可以在 ‘错误解决二’ 中提到的`webpack.config.js` 文件中配置
错误解决二:

webpack默认的需要打包的文件是index.js,而我们使用的是main.js 所以报错,在项目目录中新建名称为 `webpack.config.js` 的文件,基本内容如下:
//默认的路径是以当前项目的根目录文件夹,也就是安装webpack的文件夹目录
const path = require('path')
module.exports = {
mode: 'development', //定义运行模式
entry:path.join(__dirname,'./src/main.js'), //需要打包的那个文件
output:{ //打包生成的那个文件
path:path.join(__dirname,'./dist'),
filename :'bundle.js'
},
}
执行 `webpack` 自动生成

2) 运行方式二:
命令行执行: `webpack .\src\main.js .\dist\bundle.js`
注意斜线的朝向
3) 运行方式三:
安装了 `webpack-dev-service` 本地运行,webpack生成的bundle.js并没有存储在物理盘上,而是直接托管到了内存中,所以根目录下可能找不到这个文件
`webpack-dev-service ` 的配置方式有两种:
① 配置方式一:
在 `package.json` 中配置 `webpack-dev-service `
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev":"webpack-dev-server --mode development --open --port 8081 --contentBase src"
},
--mode development 配置运行的模式
--open 是否运行时打开浏览器(打开的是系统默认打开链接的浏览器)
--port 8081 配置本地打开的端口号
--contentBase src 配置默认浏览器打开的页面是什么下的
② 配置方式二:在 `webpack.config.js` 中配置
const path = require('path')
module.exports = {
mode: 'development',
entry:path.join(__dirname,'./src/main.js'),//打包的那个文件
output:{
path:path.join(__dirname,'./dist'),
filename :'bundle.js'
},
devServer:{
open:'true',
port:'8081',
contentBase:'src'
},
}
③ 配置完成之后命令行执行 `npm run dev`
----------------------------------------------------------------------------------------------------------------
至此完成了webpack的基本的运行
webpack安装与配置初学者踩坑篇的更多相关文章
- Opencv环境配置及踩坑
Opencv环境配置及踩坑 1.什么是Opencv OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux.Windows.Android和[ ...
- Pytorch及Yolov5环境配置及踩坑
Pytorch及Yolov5环境配置及踩坑 1.何为Yolov5 yolo是计算机视觉方面用来进行目标检测的一个十分出名的开源框架,我搜不到官方的对此概括性的定义,但实际上也没什么必要,更重要的是会使 ...
- Ubuntu 16.04 安装Mysql 5.7 踩坑小记
title:Ubuntu 16.04 安装Mysql 5.7 踩坑小记 date: 2018.02.03 安装mysql sudo apt-get install mysql-server mysql ...
- 小白linux安装php 5.6+nginx配置(踩坑版)
因为要搭建个知识库,直接用wordpress,这前提是得先装php,实在不喜欢XAMPP,所以自己折腾,没想到php这一来还不少啊,从头到尾折腾了一个小时多.记录下主要的流程和遇到的坑. 首先官网下载 ...
- vue配置环境踩坑
Vue 环境配置踩坑 目录 Vue 环境配置踩坑 windows下cnpm -v :无法将"cnpm"项识别为 cmdlet.函数.脚本文件或可运行程序的名称. windows下c ...
- React Native Android配置部署踩坑日记
万事开头难 作为一只进入ECMAScript世界不久的菜鸟,已经被React Native的名气惊到了,开源一周数万星勾起了我浓烈的兴趣.新年新气象,来个HellWorld压压惊吧^_^(故意少打个' ...
- (最新)VS2015安装以及卸载过程——踩坑实录
前言 Visual Studio (简称VS)是微软公司旗下最重要的软件集成开发工具产品.是目前最流行的 Windows 平台应用程序开发环境,也是无数人学习编程的入门软件之一.Visual Stud ...
- 虚拟机安装Linux过程和踩坑
由于想学习node,服务器端大都使用Linux系统,所以就想着在笔记本上弄个虚拟机,装上Linux,使用xshell在window上操作也方便,也借此来熟悉一下Linux,接下来就解释下安装的步骤和遇 ...
- Webpack安装和配置
一.安装和配置webpack 1.全局安装webpack 这样就安装好了webpack,可以再全局通过webpack -v来查看是否安装成功. 2.先创建项目目录结构,根目录是mywebpack.进入 ...
随机推荐
- Oracle Enterprise Linux 6.4 下挂载ISCSI 设备
Oracle Enterprise Linux 6.4 下挂载ISCSI 设备一.发现① 要求安装iscsi客户端软件 yum install iscsi-initiator-utils ② 发现 ...
- 检测浏览器是否支持某个css属性
以浏览器是否支持translate3d 为例说明,当然现代浏览器已经支持该属性.如果浏览器实现了带有前缀的某个属性,比如说支持-webkit-transform,但是不支持直接写transform,可 ...
- java.util.Queue(队列)的简单使用
import java.util.LinkedList; import java.util.Queue; import org.junit.Before; import org.junit.Test; ...
- 【代码审计】大米CMS_V5.5.3 后台多处存储型XSS漏洞分析
0x00 环境准备 大米CMS官网:http://www.damicms.com 网站源码版本:大米CMS_V5.5.3试用版(更新时间:2017-04-15) 程序源码下载:http://www ...
- Linux设备驱动剖析之Input(一)
前言 以前在移植Qt到开发板上时只知道在配置文件中需要指定触摸屏的设备文件/dev/input/event0,仅此而已.直到一年半前突然想到用红外遥控器控制Tiny6410开发板上的Android系统 ...
- Linux驱动技术(二) _访问I/O内存
ARM是对内存空间和IO空间统一编址的,所以,通过读写SFR来控制硬件也就变成了通过读写相应的SFR地址来控制硬件.这部分地址也被称为I/O内存.x86中对I/O地址和内存地址是分开编址的,这样的IO ...
- 在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作。一次移动操作指用一个"LX"替换一个"XL",或者用一个"XR"替换一个"RX"。现给定起始字符串start和结束字符串end,请编写代码,当且仅当存在一系列移动操作使得start可以转换成end时, 返回True。
在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作.一次移动操作指用一个"LX"替换一个"XL ...
- 企业应用打包的时候 修改ipa包的bundle identifier
1.将ipa包后缀改为.zip,解压,之后打开包文件,找到info.plist文件后,修改相应的项就可以了.把修改后的文件重新压缩成zip,把zip改为ipa,替代原来的ipa,就可以了. 解决这个问 ...
- day_5.11 py main
''' 2018-5-11 18:52:19 模块其实就是Java中的包 模块 就是 xxx.py main.py默认是最主要的模块 ''' class ClasssName(object): pas ...
- struts2常用标签详解(申明:来源于网络)
struts2常用标签详解(申明:来源于网络) 地址:http://blessht.iteye.com/blog/1184960