webpack从0到1构建Vue3

         从0到1构建,简单来讲,就是配置能够识别各种文件的loader,包括css、ts、vue等文件,配置完这些loader这些之后,你要配置的就是一些边角料了,比如读取的主文件在哪里,打包后的文件在哪里,这两个分别用entry和output两个属性来配置,除此之外还需要安装一些插件来增强对应的功能,比如安装htmlWebpackPlugin插件使webpack能够读取打包后的html文件。以下就是通过webpack简单实现的vue3配置。我觉得webpack就是一个容器,你需要什么,就往里面添加什么东西。就是这么简单。当然了,webpack远远不止这么简单,这还需要我不断地探索下去。

const { Configuration } = require('webpack')
const path = require('path')
const htmlWebpackPlugin = require('html-webpack-plugin')

const {VueLoaderPlugin } = require('vue-loader/dist/index')
const {CleanWebpackPlugin} = require('clean-webpack-plugin')
const FriendlyErrorsWebpackPlugin = require('friendly-errors-webpack-plugin')

/**
 * @type {Configuration}
 */
const config = {
    mode: 'development',
    entry: './src/main.ts',
    stats: 'errors-only',
    output: {
        filename: '[hash].js',
        path: path.resolve(__dirname, 'dist')
    },
    plugins: [
        new htmlWebpackPlugin({
            template: './public/index.html'
        }),
        new VueLoaderPlugin(),
        new CleanWebpackPlugin(),
        new FriendlyErrorsWebpackPlugin({
            compilationSuccessInfo: {
                messages: ['Your Application running here: http://localhost:8080']
            }
        })
    ],
    module: {
        rules: [
            {
                test: /\.vue$/,
                use: 'vue-loader'
            },
            {
                test: /\.css$/,
                use: ['style-loader', 'css-loader']
            },
            {
                test: /\.scss$/,
                use: ['style-loader', 'css-loader', 'sass-loader']
            },
            {
                test: /\.ts$/,
                use: ['ts-loader']
            }
        ]
    },
    resolve: {
        alias: {
            '@': path.resolve(__dirname, 'src')
        },
        extensions: ['.vue', '.js', '.ts']
    },
     /*
       表示打包时不打包Vue,而采用cdn引入的方式,降低打包后包的体积,而采用cdn的话,加载速度与网            
       络有关,白屏的时间可能会更长
     */
    externals: {
        vue: 'Vue'
    }
}

module.exports =  config
/**
 * @type {Configuration}
 */
 这一行注释加上以后,对于vscode来说可以拥有更友好的提示

以上内容来自于B站小满zs的学习总结。

相关推荐

  1. webpack01构建Vue3

    2024-01-23 10:08:01       33 阅读
  2. 01实现YOLOv3

    2024-01-23 10:08:01       7 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-23 10:08:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-23 10:08:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-23 10:08:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-23 10:08:01       20 阅读

热门阅读

  1. QT模态对话框和非模态对话框

    2024-01-23 10:08:01       37 阅读
  2. edu round 161 C Closest Cities

    2024-01-23 10:08:01       27 阅读
  3. k8s--helm

    k8s--helm

    2024-01-23 10:08:01      31 阅读
  4. 【计算机二级考试C语言】C预处理器

    2024-01-23 10:08:01       30 阅读
  5. LeetCode-题目整理【6】:除自身以外数组的乘积

    2024-01-23 10:08:01       28 阅读
  6. ES已有mapping下,新增字段且设置初始值

    2024-01-23 10:08:01       31 阅读
  7. 电脑网卡ip修改

    2024-01-23 10:08:01       33 阅读
  8. 知识笔记(九十四)———vue3中的菠萝能吃吗?

    2024-01-23 10:08:01       32 阅读