自己搭建webpac脚手架

在使用Webpack时,需要安装一些必要的依赖项。 配合 webpack 使用
npm install webpack ts-loader typescript webpack-cli --save-dev
在package.json文件中,为scripts部分添加 "start": "webpack",以方便启动Webpack。
// Vue配置
// 首先,安装与Vue相关的依赖。
npm i vue@next --save
npm i -D @vue/compiler-sfc
// 接下来,安装Vue的loader以及其他必要的Webpack插件。
npm i vue-loader --save-dev
npm i webpack-dev-server html-webpack-plugin --save-dev

Webpack配置文件

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');  // 使用Webpack的HtmlWebpackPlugin插件
const { VueLoaderPlugin } = require('vue-loader');  // 引入VueLoader插件

module.exports = {
  entry: {
    index: './src/main.ts',  // 指定入口文件
  },
  mode: 'development',  // 开发模式
  module: {
    rules: [
      {
        test: /\.tsx?$/,  // 处理.ts和.tsx文件
        loader: 'ts-loader',  // 使用ts-loader编译
        options: {
          appendTsSuffixTo: [/\.vue$/],
        },
        exclude: /node_modules/,  // 排除node_modules文件夹
      },
      {
        test: /\.vue$/,
        loader: 'vue-loader',  // 使用vue-loader处理.vue文件
      }
    ]
  },
  resolve: {
    extensions: ['.tsc', '.ts', '.js'],  // 指定Webpack解析哪些扩展名的文件
  },
  output: {
    filename: 'bundle.[name].js',  // 输出文件名
    path: path.resolve(__dirname, 'dist'),  // 输出目录
  },
  devServer: {
    // contentBase: path.resolve(__dirname, 'dist'),
    // contentBase: './dist',
    // port: 3020,
    // hot: "only",
    // static: false,
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: path.resolve(__dirname, 'index.html')  // 指定模板文件
    }),
    new VueLoaderPlugin(),  // 使用VueLoader插件
  ]
}

备注

1. 为了使Webpack能够处理Vue组件,需要使用vue-loader。
2. 使用HtmlWebpackPlugin可以简化HTML文件的创建,为您的bundle提供服务。
3. 通过VueLoaderPlugin,可以将定义过的其他规则应用到.vue文件中。
4. 请确保已经正确配置了tsconfig.json文件,以便ts-loader可以正确地编译TypeScript代码。

posted on   完美前端  阅读(137)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2020-03-20 flutter 下拉刷新 上拉加载

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示