ts项目搭建


1.创建文件夹&项目初始化

npm init -y

2.下载

npm i -D webpack webpack-cli webpack-dev-server typescript ts-loader
npm i -D @babel/core @babel/preset-env  babel-loader core-js
npm i -D  css-loader less  less-loader style-loader  html-webpack-plugin clean-webpack-plugin

3.创建src根文件夹和index.html(作为编译模板)index.ts(作为入口文件)

ts项目搭建

 

4.使用一下命令创建tsconfig.json

tsc --init

5.配置package.json


 “main”:”./src/index.ts”, //要修改正确的入口文件哦

"scripts": {
    "start":"webpack-dev-server",  //也可以这样配置 "start":"webpack-dev-server --open Chrome"
// 或者这样的"start":"webpack-dev-server --open 'Google Chrome'" 
// 看人家这样配置没报错,我的报错,故用最简单的配置了(苦笑)
  "build":"webpack" },
//贴上我下载的依赖包版本

“devDependencies”: {
    “@babel/core”: “^7.18.13”,
    “@babel/preset-env”: “^7.18.10”,
    “babel-loader”: “^8.2.5”,
    “clean-webpack-plugin”: “^4.0.0”,
    “core-js”: “^3.25.0”,
    “css-loader”: “^6.7.1”,
    “html-webpack-plugin”: “^5.5.0”,
    “less”: “^4.1.3”,
    “less-loader”: “^11.0.0”,
    “postcss-loader”: “^7.0.1”,
    “postcss-preset-env”: “^7.8.0”,
    “style-loader”: “^3.3.1”,
    “ts-loader”: “^9.3.1”,
    “typescript”: “^4.8.2”,
    “webpack”: “^5.74.0”,
    “webpack-cli”: “^4.10.0”,
    “webpack-dev-server”: “^4.0.0”
  }

 

 

6.配置webpack.config.js

const path = require('path');
//引入html插件
const HTMLWebpackPlugin = require('html-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin')
module.exports = {
  "mode": "development",
  //指定入口文件
  entry: "./src/index.ts",
  //指定打包文件所在的目录
  output: {
    //指定打包文件的目录
    path: path.resolve(__dirname, './dist'),
    //打包后文件的文件
    filename: 'bundles.js'
  },
  devServer: {
    static: {
      directory: path.join(__dirname, './'),
      watch: true
  }
},

  //指定webpack打包时要是用的模块
  module: {
    //指定要加载的规则
    rules: [
      {
        // test指定是规则生效的文件
        test: //.ts$/,
        use: [{
          //指定预加载器
          loader: "babel-loader",
          //配置babel
          options: {
            //配置预定义的环境
            presets: [
              [
                //制定环境插件
                "@babel/preset-env",
                //配置信息
                {
                  //要兼容的浏览器
                  targets: {
                    "chrome": "104"
                  },
                  //指定corejs版本
                  "corejs": "3",
                  //使用corejs的方式usage表示按需加载
                  "useBuiltIns": "usage"
                }
              ]
            ]

          }
        }, 'ts-loader'],
        //要排除的文件
        exclude: /node-modules/
      },{
        test://.less$/,
        use:[
          "style-loader",
          "css-loader",
          //引入postcss
          {
            loader:"postcss-loader",
            options:{
              postcssOptions:{
                plugins:[
                  [
                    "postcss-preset-env",
                    {
                      browsers:'last 2 versions'
                    }
                  ]
                ]
              }
            }
          },
          "less-loader"
        ]
      }
    ]
  },
  //配置webpack插件
  plugins: [
    //自动生成html文件 并引入相关的资源
    new HTMLWebpackPlugin({
      title: 'project',
      //模板选项 根据模板生成html文件
      template: "./src/index.html"
    }),
    new CleanWebpackPlugin()
  ],
  //用来设置引用的模块
  resolve: {
    extensions: ['.ts', '.js']
  }
}

 7.写点东西看看效果

src/index.html
<div id="main"></div>

src/style/index.less
//设置变量
@bg-color: #b7d438;
@p-color:pink;
// 清除默认样式
*{
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
//主窗口样式
#main{
  width: 360px;
  height: 420px;
  background-color:@p-color;
}
// 引入样式文件
//引入样式
import './style/index.less'


执行 npm start

ts项目搭建

 

 虽然很简单,但仍出现未曾料想的错误,诸多波折,记录一下,自己要不断加油!!!

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/282431.html

(0)
上一篇 2022年8月27日
下一篇 2022年8月27日

相关推荐

发表回复

登录后才能评论