在本文中,我们将为您详细介绍webpack自动更新插件webpack-dev-server的相关知识,并且为您解答关于webpack自动刷新的疑问,此外,我们还会提供一些关于03webpack借助we
在本文中,我们将为您详细介绍webpack自动更新插件 webpack-dev-server的相关知识,并且为您解答关于webpack 自动刷新的疑问,此外,我们还会提供一些关于03webpack借助webpack-dev-server 时时跟新的第一种方式、04webpack-webpack-dev-server时时跟新的第二种方式、node.js – “找不到命令的webpack-dev-server”错误:webpack-dev-server“、ubuntu – webpack –watch不起作用,也不起webpack-dev-server的有用信息。
本文目录一览:- webpack自动更新插件 webpack-dev-server(webpack 自动刷新)
- 03webpack借助webpack-dev-server 时时跟新的第一种方式
- 04webpack-webpack-dev-server时时跟新的第二种方式
- node.js – “找不到命令的webpack-dev-server”错误:webpack-dev-server“
- ubuntu – webpack –watch不起作用,也不起webpack-dev-server
webpack自动更新插件 webpack-dev-server(webpack 自动刷新)
1. webpack-dev-server----能够实时监视代码更新,自动打包,打包完毕之后开启服务器端口(8080)自动刷新浏览器
npm install --save-dev webpack-dev-server
2.修改配置文件,告诉开发服务器(dev server),在哪里查找文件:
webpack.config.js
const path = require(''path'');
const HtmlWebpackPlugin = require(''html-webpack-plugin'');
const CleanWebpackPlugin = require(''clean-webpack-plugin'');
module.exports = {
entry: {
app: ''./src/index.js'',
print: ''./src/print.js''
},
devtool: ''inline-source-map'',
+ devServer: {
+ contentBase: ''./dist''
+ },
plugins: [
new CleanWebpackPlugin([''dist'']),
new HtmlWebpackPlugin({
title: ''Development''
})
],
output: {
filename: ''[name].bundle.js'',
path: path.resolve(__dirname, ''dist'')
}
};
3.让我们添加一个 script 脚本,可以直接运行开发服务器(dev server):
package.json
{
"name": "development",
"version": "1.0.0",
"description": "",
"main": "webpack.config.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"watch": "webpack --watch",
+ "start": "webpack-dev-server --open",
"build": "webpack"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"clean-webpack-plugin": "^0.1.16",
"css-loader": "^0.28.4",
"csv-loader": "^2.1.1",
"file-loader": "^0.11.2",
"html-webpack-plugin": "^2.29.0",
"style-loader": "^0.18.2",
"webpack": "^3.0.0",
"xml-loader": "^1.2.1"
}
}
03webpack借助webpack-dev-server 时时跟新的第一种方式
<!-- 如何添加npm run dev 启动程序 下载 npm install --save-dev webpack-dev-server
下载 npm i webpack-cli -D
说明一下:
--save-dev等价为-D 意思是安装到开发环境中去;
也就是package.json中的 devDependencies这个下面
在pack.json中添加 "dev": "webpack-dev-server"这一句 注意使用逗号隔开
本节实现的功能==》手动修改成自己想要的端口号 2并且自动打开浏览器哦 在package.json中修改 将“script”:{ "dev":"webpack-dev-server --open --port 3000"} 解释==》 --open是自动打开浏览器 --port 3000将端口修改为3000 --> <!-- 本节实现的功能==》 我们发现启动之后展示的不是一个具体的首页 而是一个目录 如何解决启动之后是一个具体的首页 将“scripts”:{ "dev":"webpack-dev-server --open --port 3000 --contentBase src --hot"} 这里有4个指令 解释==》 --open是自动打开浏览器 --port 3000将端口修改为3000 --contentBase src 以src为根目录 展示它里面的index.html这个文件 --hot实现局部的跟新 你修改了哪里就跟新哪里 效率跟高了 它能够实现网页不重载(那个圈圈不会刷新) 就可以实现页面跟新 -->
启动的命令是npm run dev
src目录下的webpack.config.js
src目录下的index.html
<!DOCTYPE html> <html lang="en"> <head> <Meta charset="UTF-8"> <Meta name="viewport" content="width=device-width,initial-scale=1.0"> <title>Document</title> <script src="/testindex.js"></script> </head> <body> <div>12</div> <div>222</div> <div>222</div> </body> </html>
04webpack-webpack-dev-server时时跟新的第二种方式
webpack-dev-server是webpack官方提供的一个小型Express服务器
使用它可以为webpack打包生成的资源文件提供web服务。
webpack-dev-server 主要提供两个功能:
为静态文件提供服务
自动刷新和热替换(HMR)
安装命令:
npm install --save-dev webpack-dev-server(别忘记安装)
第一种方式 自动打开浏览器 端口号 指定托管的跟目录 启动热刷新 这种是在webpack.json中去配置的 直接在package中 写 将“script”:{ "dev":"webpack-dev-server --open --port 3000 --contentBase src --hot"} 这里有4个指令 第二种方式 自动打开浏览器 端口号 指定托管的跟目录 启动热刷新 在webpack.config.js文件中 第一步:引入webpack const webpack=require("webpack");
第二步:配置 devServer:{ open:true,//自动打开浏览器 port:3000,1)"> 端口号 contentBase:'src',1)"> 指定托管的跟目录 hot:true 启动热刷新 } 第三步:配置热刷新这个插件的节点 plugins: [new webpack.HotModuleReplacementPlugin()]
完整代码如下===》
const path = require("path"); 路径模块 第2中方式配置webpack const webpack = require("webpack"); 配置文件 暴露出去哦 // 手动的指定入口和出口 module.exports = { entry: path.join(__dirname,"./src/main.js"),1)">入口文件 使用webpack要打包哪一个文件 output: { 输出相关的配置 path: path.join(__dirname,"./dist"),1)">指定打包好的文件会输出到哪一个目录(dist)下去 filename: "testindex.js" 指定打包好的文件的名称叫什么名字 },devServer: { open: 自动打开浏览器 port: 3000,1)">端口号 contentBase: "src",//指定托管的根目录 hot: true,//启动热刷新 },plugins: [ webpack.HotModuleReplacementPlugin()] //这个就是热跟新的配置 };
启用命令
npm run dev
需要注意的地方 因为现在webpack已经是4了; 所以需要安装npm i webpack-cli -D 否者就会报错 Cannot find module 'webpack-cli/bin/config-yargs' 注意下面插件的安装环境 package.json文件内容如下 { "devDependencies": { "webpack": "^4.44.2"},"scripts": { "dev": "webpack-dev-server" : { "jquery": "^3.5.1" } }
src下的index.html
注意这里的引用路径,
因为webapck配置的时候,配置的是src目录下的testindex.js
此时你更改这里的代码是不会热跟新的;
src下的main.js
此时你发现,自动修改js文件,可以热跟新;
但是index.html却不可以热跟新
node.js – “找不到命令的webpack-dev-server”错误:webpack-dev-server“
npm install -g webpack webpack-dev-server
确认两者都安装成功.
现在,当我尝试执行webpack-dev-server时,我得到以下内容:
$webpack-dev-server --inline --hot zsh: command not found: 'webpack-dev-server'
永远不要碰到这个,因为我的所有其他npm模块在本地和全局都加载/运行正常.我已尝试将其本地安装到项目中(添加到package.json,npm install,yadda yadda ..)并收到相同的错误.
我错过了什么吗?
解决方法
I was able to solve this problem on my machine. It appears to have been an issue with permissions.
I installed
webpack
andwebpack-dev-server
globally. However,even then,$webpack-dev-server
resulted in command not found (as stated above).The problem was that npm installed the global packages to
/usr/local/lib/node_modules
which required root permissions.In order to avoid having to use root permissions,I changed the directory in which global packages are to be installed to a directory in
$HOME
. To do this,I followed this guide: 07001I installed
webpack
andwebpack-dev-server
globally again (this time without sudo) and verified that they have been installed in my new directory.Now,I can finally run
$webpack-dev-server
.
ubuntu – webpack –watch不起作用,也不起webpack-dev-server
我正在使用8GB usb密钥运行Ubuntu 14.04的实时会话,并将我的应用程序文件保存在Documents文件夹中的“src”文件夹中.我正在使用Atom编辑器作为IDE.
当我导航到src文件夹并运行“webpack –watch ./app.js bundle.js”或“webpack-dev-server –inline –hot”时,它们都运行并给我一些好消息,例如“webpack” :build现在是VALID“但是当我在Atom中编辑我的js并保存它时,它不会在浏览器页面或终端上自动重新编译.它没有错误.它只是没有做任何事情.
我尝试删除并重命名/重新创建/移动src文件夹,并检查案例但没有任何变化.当我转到http://localhost:8080时没有重新编译它正确编译.
对于其他任何人来说,这里有两个最有用的链接,应该解决大多数这样的问题,我还包括一个非常有用的webpack youtube视频,我一直在使用.他们只是不在这个特殊情况下工作.
webpack –watch isn’t compiling changed files
Why is webpack –watch not updating when specific files are updated
Youtube视频:与Jeremy Lund一起介绍Webpack.即使使用本例中显示的最小js文件和webpack.config.js,我也无法运行–watch.
https://www.youtube.com/watch?v=RKqRj3VgR_c
编辑:
当webpack-dev-server在控制台中运行时我打开了我的src文件夹,并使用ubuntu的默认文本编辑器而不是Atom手动编辑了我的app.js文件.当我保存文件时,webpack会自动重新编译和捆绑文件并刷新浏览器.似乎问题可能是Atom?我是新手.
我遇到了同样的问题.
解决方案已被发现:
webpack –watch isn’t compiling changed files
运行:webpack –watch –watch-poll当然,在它之前从webpack配置中删除’watch:true’.
今天关于webpack自动更新插件 webpack-dev-server和webpack 自动刷新的讲解已经结束,谢谢您的阅读,如果想了解更多关于03webpack借助webpack-dev-server 时时跟新的第一种方式、04webpack-webpack-dev-server时时跟新的第二种方式、node.js – “找不到命令的webpack-dev-server”错误:webpack-dev-server“、ubuntu – webpack –watch不起作用,也不起webpack-dev-server的相关知识,请在本站搜索。
本文标签: