webpack4配置(1)-打包一个js文件
常用指令
- npm install == npm i
- npm install --save == npm i -S
- npm insall --save-dev == npm i -D
两者的区别:-D只在开发环境中使用,如loader,babel等;-S在生产环境和开发环境中都要使用,如Vue,jquery等。
配置流程
初始化
(1)新建一个空项目,然后初始化
npm init
然后会生成一个package.json文件
配置webpack
(1)在项目本地安装webpack,webpack4需要webpack-cli,一起安装
npm i -D webpack webpack-cli
npm为5.x版本以上的话,会生产node_modules文件夹和package.lock.json文件。
(2) webpack在打包时,会默认寻找根目录下的webpack.config.js
配置文件,打包入口文件默认为src/index.js
文件,考虑到后续配置方便,在根目录下创建相关文件夹和文件,项目结构如图所示:
我们手动来配置一下。打开webpack.config.js
文件,写入:
在index.html
和index.js
里写一些测试代码(3) 开始打包,打开package.json
文件,在script
里添加一条:即使用webpack打包,配置文件为webpack.config.js
。然后在终端输入命令npm run dev.可以看到打包完成信息,同时在项目目录中多出来一个dist文件夹,里面有打包生产的main.bundle.js文件
配置webpack-dev-server
(1)为方便在开发时查看编译效果,安装webpack-dev-server
,它可以在开发环境中提供很多服务,如开启一个服务器、热更新、接口代理。首先,在本地局部安装:
npm i -D webpack-dev-server
然后将package.json
中的script
更改为:
其中--open
指打包成功后自动开启浏览器。
注意
webpack-dev-server打包后生成的文件保存在内存(根目录llocalhost:8000/下)中而不是本地项目的dist目录中,所以在index.html
通过src="dist/main.bundle.js"
的方式引入失败,应该改为scr="./main.bundle.js"
解决办法如下: (1)通过src="http://localhost:8000/main.bundle.js"
的方式引入
(2)在webpack.config.js
的output
中添加一条 然后通过src="assets/main.bundle.js"
的形式引入
(2)webpack-dev-server的热更新功能只适用于更改了静态文件,当修改配置文件时还是需要重新运行,所以安装nodemon来监听配置文件的改动,实现热更新。
安装nodemon,npm i -D nodemon
修改package.json:
"dev": "nodemon --watch webpack.config.js --exec \"webpack-dev-server --mode development\"",
"build": "webpack --config webpack.config.js --mode production"
复制代码
清除dist
因为要多次修改代码进行构建,多次生成的dist会很多余,所以在每次构建前先删除之前的dist,安装插件clean-webpack-plugin
: npm i -D clean-webpack-plugin
安装成功后在webpack.config.js
文件中添加2句:
自动生成html
手动创建的html文件需要我们手动添加js文件等资源路径,很不方便,所以使用html-webpack-plugin
来自动生成html文件。
(1)安装npm i -D html-webpack-plugin
(2)配置webpack.config.js
然后就会自动在dist目录下生成已经引用好静态资源的index.html
转载于:https://juejin.im/post/5cb2e23c5188257aeb0d9034
webpack4配置(1)-打包一个js文件相关推荐
- 配置 postCSS 自动添加 css 的兼容前缀||打包样式表中的图片和字体文件||打包处理 js 文件中的高级语法
配置 postCSS 自动添加 css 的兼容前缀 ① 运行 npm i postcss-loader autoprefixer -D 命令 ② 在项目根目录中创建 postcss 的配置文件 pos ...
- webpack打包处理js文件中的高级语法
前言 在js文件中定义一个User类 import $ from 'jquery' import './css/at.css' import './css/at.less' import './css ...
- 两个html文件互相访问变量,访问一个js文件的变量上的HTML文件
我已经在那里我宣布,我想在一个脚本在HTML中使用一个变量js文件访问一个js文件的变量上的HTML文件 js文件(controllerB.js) var modalArticles = []; $( ...
- 在一个js文件中引入另一个js文件
第一个js文件(被引入的js文件),文件名one.js,内容如下 function alertInOne(){ alert('in one'); } 第二个js文件,文件名two.js,内容如 ...
- 一款好用的JS插件xm-select【只需要引用一个JS文件就搞定】
一款好用的JS插件xm-select[只需要引用一个JS文件就搞定] 先上js代码:复制保存直接用 !function(e){var t={};function n(o){if(t[o])return ...
- myeclipse 生成html文件 调用js,MyEclipse怎么创建一个js文件
优质回答 回答者:牛小凡 点击file -- new -- 输入javascript 然后选择下面的javascript source file 输入名字 ,点击finish 就能新建js文件了,如下 ...
- webpack 单独打包指定JS文件
背景 最近接到一个需求,因为不确定打出的前端包所访问的后端IP,需要对项目中IP配置文件单独拿出来,方便运维部署的时候对IP做修改.因此,需要用webpack单独打包指定文件. CommonsChun ...
- Highcharts教程--把js代码从html中抽离出来,放到单独的一个js文件中。由html页面调用...
1.html页面写法 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...
- react 打包体积过大_create-react-app andt 打包的 js 文件过大
初步学习 react 使用 antd 官方的配置好按需加载之后,发现 npm run start 和 npm run buidl 之后的 static/js/0.chunk.js 文件有 3.5+M, ...
最新文章
- H264格式具体说明
- [原创]关于在VS2008和VS2010中禁用及卸载Visual Assist X的方法研究
- R语言比较运算符和逻辑运算符
- Apache启动错误:could not bind to address[::]:443
- django python3.6_Django+mysql+python3.6.5 Windows
- Access和sql server的语法区别
- DevExpress GridControl Gridview RepositoryItemCheckEdit复选框及获取选择行数据
- sql server 缓存_了解SQL Server查询计划缓存
- Spring事务嵌套
- ArcObjects操作PageLayoutControl中元素位置,以图框、ITextSymbol为例
- 识别图书ISBN号并输出查询结果的示例 | Marshal's Blog
- AHA加速器测试,安卓、IOS、windos、mac测试正常
- 函数简介篇——环境变量函数
- 百度地图海量点位渲染造成卡顿问题解决
- ubuntu测网速方法
- CSDN发博客上传照片失败问题解决方案
- 基于区块链的分布式金融网络
- 家居行业渠道商销售系统线上线下一体化运作,促进产品更新迭代
- SMM - Spring,SpringMVC,MyBatis 三大框架整合
- 云服务器的概念(云服务器年度最低价来了,就要抓住双11)
热门文章
- HTML5自定义属性
- 最简单的图形用户代码_简单几句代码,画出精美的图形,快跟着学起来~
- 计算同比和环比的区别_【数据说第三期】同比和环比数据分析时,有哪些需要注意的点?...
- python基础到实践教程_Python从入门到实践案例教程(21世纪高等学校计算机教育实用规划教材)...
- vim python 代码提示_linux vim 编写代码python使用tab补全
- sqlserver isnull函数使用
- 物联网核心安全系列——智能门锁安全问题
- 【转载】石油天然气常用单位换算
- 寻找最优秀AI公司 | 量子位2018年度评选启幕
- AI已火,宗教当生,硅谷出了个“洪秀全”