webpack从0到1构建Vue3

发布时间:2024年01月23日

?????????从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的学习总结。

文章来源:https://blog.csdn.net/car_lic/article/details/135760757
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。