老师为什么之前打包的时候有dist 目录输出,后来配置devServer就没有了

来源:2-6 Webpack-dev-server配置

qq_樱花树下的羁绊_0

2018-12-18

//是开发环境的话增加配置
if(isDev) {
  config.devServer = {
    //可以使用任何方式访问,指向本机ip
    host: '0.0.0.0',
    //启动server 的端口
    port: '8888',
    //output中编译文件的存储位置
    contentBase: path.join(__dirname, '../dist'),
    //启动 hot module replacement
   // hot: true,
    //webpack 编译过程中,出现任何错误,在网页上面显示黑色背景和错误信息,
    // errors: true只显示错误信息, warning
    overlay: {
      errors: true,
    },
    //访问所有静态路径都需要加/public 才能访问到生成的public静态文件
    publicPath: '/public',
    //指定dist 下的 index.html,当请求url 为404时候,应该返回这个页面。
    historyApiFallback: {
      index: '/public/index.html'
    }

  }
}
"dev:client": "cross-env NODE_ENV=development webpack-dev-server --config build/webpack.config.client.js",

再次启动后发现就没有dist 文件夹了。。。是因为配置了devServer的原因么,那webpack 的 output中配置的输出路径dist 又在哪里呢

  output: {
    //[] 中括号是变量的意思,filename中的变量有 
    // name 代表 entry下面对应的一项的名字,这里为 app
    //hash 在对整个app打包完成后,会根据内容生成hash值,只要内容不一样会变化
    filename: '[name].[hash].js',
    //path 输出文件存放路径, 根目录下 dist 文件夹
    path: path.join(__dirname, '../dist'),
    //静态资源引用路径,publicPath为空时: 在html 中打包后生成的script 路径为 app.hash.js
    //publicPath='/public  ---- /public/app.hash.js
    //帮我们区分url为静态资源还是url 请求,添加前缀
    //当静态资源要部署在CDN上面时候,将CDN的域名写入publicPath 即可
    publicPath: '/public',
  },
写回答

1回答

Jokcy

2018-12-18

devServer为了性能把文件保存在内存里面,不写入硬盘,因为写入硬盘比较费时。

0
1
qq_樱花树下的羁绊_0
哦!这样啊,谢谢Jokcy老师
2018-12-21
共1条回复

React全栈+服务器渲染(ssr)打造社区Webapp

【毕设面试】只会写业务代码?out了,带你学会搭建属于自己的工程!

768 学习 · 414 问题

查看课程