在vue项目中配置webpack

首先我们来看一下使用Vue-cli2与Vue-cli2之后的版本(这里以Vue-cli4版本为例)创建项目目录结构的不同:

Vue-cli2(左图)与Vue-cli4(右图)创建项目的目录

从上图可以看出Vue-cli2中有static文件夹,Vue-cli4是移除了static文件夹,但新增了public文件夹,并将index.html文件移动到了public中,这是其区别之一,另外Vue-cli2创建的项目其配置文件存放在build和config文件夹中,而Vue-cli4创建的项目没有这两个文件夹,那是不是真的没有了配置文件呢?当然不是,你想想如果没有配置文件了,那项目如何能够运行呢,其实只是将配置文件隐藏了而已。

那要如何查看配置文件呢?

配置文件隐藏在node_modules/@vue/cli-service中,打开这个文件夹,你就可以看到webpack.config.js配置文件了,但是并不推荐你在这里面进行webpack的相关配置,通常我们的做法是在项目的根目录下创建一个vue.config.js的配置文件,在这个文件中进行webpack的配置,因为在运行项目时,会先看是否有这个文件,如果有的话会将这个文件与隐藏的配置文件合并。

下面以配置文件夹别名和配置本地服务为例:

1.配置文件夹别名

为什么要给文件夹配置别名呢?有没有这个疑惑?首先当然是为了方便,因为在引用某个文件时需要给出其路径,但如果路径过长,就可能会出错了,而且还不优雅美观。直接贴代码:

复制代码
 1 module.exports = {
 2   configureWebpack: {
 3     // resolve是配置与路径相关的
 4     resolve: {
 5       extensions: ['.js', '.vue', '.json'],  // 省略文件后缀名
 6       // 配置别名
 7       alias: {
 8         'assets': '@/assets',
 9         'common': '@/common',
10         'components': '@/components',
11         'network': '@/network',
12         'views': '@/views',
13       }
14     }
15   }
16 }
复制代码

是不是有点疑惑@是个什么东西呢?@是代表的是src目录的别名,在隐藏的配置文件中有这个配置。

2.配置本地服务

复制代码
 1 module.exports = {
 2   configureWebpack: {
 3     // 配置本地服务器
 4     devServer: {
 5       compress: true,  // 启用压缩,代码占用的空间少,在互联网传输快
 6       port: 8080,  // 设置打开的端口
 7       host: '127.0.0.1',  // host
 8       hot: true,  // 热启动
 9       open: true,  // 浏览器自动打开
10       // 服务器代理,实现跨域访问接口
11       proxy: {
12         '/api': {
13           target: '要访问目标的地址', //接口地址
14           ws: true, //是否开启websockets
15           changOrigin: true, //允许跨域  
16           pathRewrite: {
17             '^/api': '' //路径重写
18           }
19         }
20       }
21     },
22   }
23 }
复制代码

注意:在配置vue.config.js后需要重新编译,才会生效,否则就不会起作用哟。

posted @   jxweber  阅读(2591)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示