首页 > 其他分享 >webpack5 devServer浏览器打开显示 can not get

webpack5 devServer浏览器打开显示 can not get

时间:2023-08-03 18:11:21浏览次数:43  
标签:webpack5 get devServer dev ts webpack path true

webpack5中通过使用 webpack-dev-server 插件,配置 devServer 来浏览器启动页面,对于单页面,我们可以直接配置打开首页,多页面,可以配置打开一个文件目录,选择各个页面的目录

当我们配置好 webpack 后,执行 npm run dev,浏览器打开经常会看到显示  can not get,即无法匹配服务器匹配的目录

这时我们在 devServer 下配置 static 为html源文件路径即可。

const path = require('path')
const HtmlWebpackPlugin = require("html-webpack-plugin");
const { CleanWebpackPlugin } = require('clean-webpack-plugin')

module.exports = {
    entry: "./src/index.ts",
    output: {
        filename: 'main.js',
        path: path.resolve(__dirname, 'dist'),
        publicPath: '/',
    },
    devtool: "cheap-source-map",
    mode: 'development',
    resolve: {
        extensions: [".js", ".ts", ".tsx"],
    },
    devServer: {
        static: path.resolve(__dirname, './src/'),
        compress: true,
        host: '0.0.0.0',
        port: '9000',
        open: true,
        hot: true,
    },
    module: {
        rules: [
            {
                test: /\.ts$/i,
                use: {
                    loader: "ts-loader",
                },
                exclude: [/node_modules/],
            },
        ],
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: "./src/index.html",
            filename: "public.html",
        }),
        new CleanWebpackPlugin()
    ],
};

官方文档

注意以上配置,我使用的各个包版本如下:

{
  "name": "typescript",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "webpack serve",
    "build": "webpack"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "clean-webpack-plugin": "^4.0.0",
    "html-webpack-plugin": "^5.5.3",
    "ts-loader": "^9.4.4",
    "typescript": "^5.1.6",
    "webpack": "^5.88.2",
    "webpack-cli": "^5.1.4",
    "webpack-dev-server": "^4.15.1"
  }
}

而在我使用的稍微低一点的 webpack 版本中,devServer 配置浏览器打开目录是通过 contentBase 配置的,还不支持 static,最新版本中使用 contentBase 会报错没有该属性

老版本:

"webpack": "^5.75.0",
"webpack-bundle-analyzer": "^4.4.2",
"webpack-cli": "^4.6.0",
"webpack-dev-server": "^3.11.2",
 devServer: {
            contentBase: path.join(__dirname, './src/views'),
            inline: true,
            compress: true,
            host: '0.0.0.0',
            port: '9999',
            overlay: true,
            open: true,
            hot: true,
            watchOptions: {
                poll: true
            }
},

最新版本中 devServe 的 inline、overlay、watchOptions、contentBase 均已废弃。

标签:webpack5,get,devServer,dev,ts,webpack,path,true
From: https://www.cnblogs.com/beileixinqing/p/17604098.html

相关文章

  • IDEA必备插件之Sequence Diagram,你GET了么?
    前言“无论是快速了解业务流程,还是快速的熟悉系统的业务代码逻辑,以及各个类和方法等的调用关系,时序图无疑是其中一种不可获取的简便快捷的方式。一起来了解下,IDEA如何快速生成时序图吧。”工作中,经常需要绘制时序图说明业务流程的设计走向,而逻辑较复杂的时序图,若是单纯的通过人......
  • Linux:wget指令
    学习自:linux系统安装.tar.gz文件,Linux中下载、解压、安装.tar.gz文件wget常用命令详解_懿曲折扇情的博客-CSDN博客说明wget命令是Linux系统用于从Web下载文件的命令行工具,支持HTTP、HTTPS及FTP协议下载文件,而且wget还提供了很多选项,例如下载多个文件、后台下载,使用代理等等,......
  • 最适合个人博客做的6种内容!你get了吗
    很多朋友私信looklook说自己很想试着开创一个属于自己的个人博客,但是又不知道从哪里下手比较好,不知道网友们喜欢看什么。今天looklook就从内容出发,把大家比较常在个人博客分享的内容列举出来,希望可以给到大家一个参考。推荐的个人博客内容1.记录生活:许多博主将博客视为日记本,用来记......
  • 问chatgpt:java或者三方jar包,bean属性复制的,但是两个字段的名称不一致,有没有这样的方
    是的,Java中有一些库和框架可以实现对象属性的复制和映射,而无需手动编写getter和setter方法。其中比较常用的是ApacheCommonsBeanUtils和SpringFramework的BeanUtils。使用ApacheCommonsBeanUtils,你可以使用copyProperties方法来复制对象属性。示例代码如下:点击查......
  • java报错:unable to find valid certification path to requested target
    问题发现unabletofindvalidcertificationpathtorequestedtarget当我使用java代码访问某个URL的时候,报了这个错误,经过查询发现需要安装证书到java环境,所以记录一下。下载证书我使用的是chrome浏览器,点击地址栏左边小锁,选择第一个选项。然后选择证书有效。在弹出的......
  • js 发起get请求
      leta=document.createElement('img');a.src='/_xxxxxx=1&e=0.5609369440726193'在浏览器中,当创建一个图片元素并设置src属性时,浏览器会根据该路径发送一个HTTP请求,请求该路径对应的资源文件。这个资源文件可以是一张图片、一个音频文件、一个视频文件或者其他可以......
  • 浅谈Map<String, String[]> p=req.getParameterMap();
    这行代码用于获取当前HTTP请求中的所有参数,并将它们存储在一个Map<String,String[]>类型的对象中。解释如下:req:这是一个HttpServletRequest对象,表示当前的HTTP请求。通过它可以获取请求中的参数信息。getParameterMap():这是HttpServletRequest接口的方法,用......
  • getClassLoader(),getResource()
    在Java中,`getClassLoader()`方法是`java.lang.Class`类的一个方法,它用于获取加载某个类的类加载器对象。这个方法返回的是一个`ClassLoader`类的实例。以下是`getClassLoader()`方法的源代码示例:publicClassLoadergetClassLoader(){  ClassLoadercl=getClassLoader0(......
  • 使用 Axios 进行 HTTP GET 请求的详尽指南
    在进行网络请求时,axios 是一个非常常用的请求库。本文将介绍如何使用axios发起GET请求,并详细列出传参的几种写法。同时会提供一个实践案例,其中包含基本路由与请求处理的过程,并确保在IDE编辑器中可以顺利运行。什么是axios的GET请求?在开始之前,让我们简要了解一下axios......
  • docker 安装 bage私有nuget服务器并上传nuget包
    下载镜像dockerpullloicsharma/baget创建映射文件夹mkdir/data\mkdir/data/app\mkdir/data/app/bagetmkdir/data/app/baget/baget-data 写入配置文件baget.envecho"#以下配置是用于发布包的API密钥,您应该将其更改ApiKey的值以保护服务器。ApiKey=Nuge......