webpack+ts+css+scss+html项目开发框架搭建(webpack5.69.1)

  1. 项目初始化准备新建文件夹,并初始化项目

    npm init 或者 yarn init
    

    得到这样的目录结构里面有一个模块配置文件package.json
    在这里插入图片描述

  2. 在更目录下新建一个webpack配置文件webpack.config.js得到下面的目录机构
    在这里插入图片描述

  3. 在webpack.config.js中配置打包所需要的配置项(这里把我自己的配置贴上附有说明)

    
    const HtmlWebpackPlugin = require('html-webpack-plugin')
    // 压缩css
    const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
    // 打包css
    const MiniCssExtractPlugin = require('mini-css-extract-plugin');
    // 清除文件
    const { CleanWebpackPlugin } = require('clean-webpack-plugin')
    module.exports = {
      // 入口
      entry: {
        'js/main': __dirname + '/src/main.ts',
        'js/index': __dirname + '/src/ts/index.ts',
        'js/page1': __dirname + '/src/ts/page1.ts'
      },
      // 出口
      output: {
        // 出口位置
        path: __dirname + '/dist',
        // 打包以后文件名称
        filename: '[name].[chunkhash].js'
      },
      mode: 'development',
      // 打包需要使用的模块
      module: {
        // 指定加载规则
        rules: [
          {
            // 指定规则生效的文件
            test: /\.ts$/,
            // 使用什么去处理文件
            use: 'ts-loader',
            exclude: /node_modules/
          },
          {
            test:/\.css$/,
            use:[MiniCssExtractPlugin.loader, 'css-loader','postcss-loader']
          },
          {
            test: /\.scss$/,
            use: [
                MiniCssExtractPlugin.loader,
                'css-loader',
                'sass-loader'
            ]
          }
        ]
      },
      optimization: {
        minimize: true,
        minimizer: [new CssMinimizerPlugin()],
      },
      // 引入插件
      plugins: [
        new HtmlWebpackPlugin({
          filename: 'html/index.html',
          template: __dirname + '/src/views/index.html',
          chunks:['js/index', 'js/main']
        }),
        new HtmlWebpackPlugin({
          filename: 'html/page1.html',
          template: __dirname + '/src/views/page1.html',
          chunks:['js/page1', 'js/main']
        }),
        //可以打包在一个文件夹内
        new MiniCssExtractPlugin({
          filename:"css/[chunkhash].css"
        }),
        // 清除上一次的打包文件
        // new CleanWebpackPlugin()
      ],
      devServer: {
        static: __dirname + "dist",
        hot: true
      }
    }
    
  4. 如代码上所示我们需要引入一些第三方模块,第三方模块如下:

     css-minimizer-webpack-plugin(压缩css),
     mini-css-extract-plugin(打包css),
     clean-webpack-plugin(清理上一次打包剩下的dist文件), 
     ts-loader(打包处理ts文件),
     css-loader,postcss-loader(打包处理css文件),
     sass-loader, node-sass(打包处理scss文件 sass-loader@11.1.1 node-sass@6.0.0)
     webpack, webpack-cli(webpack环境)
     webpack-dev-server(实时热更新)
     typescript,
     html-webpack-plugin(处理html文件)
    // 为了方便一起安装了用npm install和yarn add都行
    yarn add -D css-minimizer-webpack-plugin mini-css-extract-plugin clean-webpack-plugin ts-loader css-loader postcss-loader sass-loader@11.1.1 node-sass@6.0.0 webpack webpack-cli webpack-dev-server typescript html-webpack-plugin
    
  5. 初始化ts配置文件tscongif.json(注意请全局安装ts环境)

    tsc --init
    
  6. 在更目录新建src目录里面的结构如下
    在这里插入图片描述

  7. 在package.json里修改一些配置信息

    "scripts": {
        "serve": "webpack serve --open html/index.html",
        "dev": "webpack --mode development",
        "build": "webpack --mode production"
      },
    
  8. 然后就可以打包了

    // 打包
    yarn build 
    // 热更新
    yarn serve
    

    打包以后的得到的dist
    在这里插入图片描述
    小白一个技术不好请指教
    附上源码地址:https://gitee.com/xuhaoguanxinyu/webpack-ts-html.git

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了在Vue 3项目中使用TypeScriptWebpack,并且正确地生成.d.ts声明文件,你需要按照以下步骤进行配置: 1. 安装依赖: ```bash npm install --save-dev typescript ts-loader vue-loader@next @types/vue @vue/compiler-sfc ``` 2. 创建`tsconfig.json`文件: 在项目根目录下创建一个名为`tsconfig.json`的文件,并添加以下内容: ```json { "compilerOptions": { "target": "esnext", "module": "esnext", "strict": true, "jsx": "preserve", "moduleResolution": "node", "resolveJsonModule": true, "esModuleInterop": true, "lib": ["esnext", "dom"], "skipLibCheck": true, "forceConsistentCasingInFileNames": true }, "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "tests/**/*.ts", "tests/**/*.tsx"] } ``` 3. 配置Webpack: 在Webpack配置文件中,添加对TypeScript和Vue文件的处理规则。例如,如果你使用的是`webpack.config.js`文件,可以按照以下示例进行配置: ```javascript const path = require('path'); module.exports = { // ...其他配置 resolve: { extensions: ['.js', '.ts', '.vue'], alias: { '@': path.resolve(__dirname, 'src') } }, module: { rules: [ { test: /\.tsx?$/, loader: 'ts-loader', exclude: /node_modules/, options: { appendTsSuffixTo: [/\.vue$/] } }, { test: /\.vue$/, loader: 'vue-loader' } ] }, // ...其他配置 }; ``` 4. 添加Vue文件声明: 在项目的`src`目录中,为Vue文件添加一个`.d.ts`的同名文件。例如,对于`HelloWorld.vue`组件,创建一个名为`HelloWorld.vue.d.ts`的文件,并添加以下内容: ```typescript declare module '*.vue' { import { ComponentOptions } from 'vue'; const componentOptions: ComponentOptions; export default componentOptions; } ``` 5. 构建项目: 运行Webpack构建命令,以启动TypeScript编译和生成声明文件: ```bash npm run build ``` 如果一切顺利,你的Vue 3 + TypeScript项目应该可以成功编译,并且在构建过程中会生成相应的.d.ts声明文件。 希望以上步骤可以帮助你配置Vue 3 + TypeScript + Webpack项目的.d.ts声明文件。如果有任何问题,请随时追问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值