TS基础记录

ts配置文件的配置项有很多下面是一些常见的配置:

{

//这个ts的json可以写注释,用来指令哪些ts文件需要编译,/*任意文件,/**任意目录,./是当前目录 ,

// ../是父级目录,/是根目录(表示一下子回到最顶端的那个文件夹下)

"include": [

"../ts_01/**/*"

],

//排除编译文件

"exclude": [

],

"compilerOptions": {

//所有严格检查的总开关,默认为false

"strict": true,

//使用什么版本的es

"target": "ES6",

//指定使用模块化的规范

"module": "ES6",

//导入别的库,一般默认就行,除非是浏览器环境

// "lib": \[\],

//指定编译后js文件的目录

"outDir": "./dist",

//合成一个文件

// "outFile": "",

//是否对js文件进行编译,默认为false

"allowJs": true,

// 是否检查js代码符合语法规范,默认为false

"checkJs": false,

//是否移除注释,默认为false

"removeComments": false,

//不生成编译后的文件默认为false

"noEmit": false,

//有错误时候就不生成编译后的文件,默认为false

"noEmitOnError": false,

//设置代码严格模式,默认为false

"alwaysStrict": false,

//不允许隐式any,默认为false

"noImplicitAny": false,

//不允许不明确类型的this,默认this

"noImplicitThis": false,

//严格检查空值默认false

"strictNullChecks": false,

},

}

ts打包配置文件

npm init -y

需要下载的插件

npm i -D webpack-cli webpack typescript ts-loader

需要配置的文件

package-lockjson是自动生成的依赖

package.json

{

"name": "ts",

"version": "1.0.0",

"description": "",

"main": "index.js",

"scripts": {

"test": "echo \"Error: no test specified\" && exit 1",

"build": "webpack",

"start": "webpack serve --open --mode development"

},

"keywords": \[\],

"author": "",

"license": "ISC",

"devDependencies": {

"@babel/core": "^7.25.2",

"@babel/preset-env": "^7.25.3",

"babel-loader": "^9.1.3",

"core-js": "^3.38.0",

"html-webpack-plugin": "^5.6.0",

"ts-loader": "^9.5.1",

"typescript": "^5.5.4",

"webpack": "^5.93.0",

"webpack-cli": "^5.1.4",

"webpack-dev-server": "^5.0.4"

}

}

tsconfig,json

{

"compilerOptions": {

"module": "ES2015",

"target": "ES2015",

"strict": true,

"typeRoots": "./node_modules/@types",

"types": "node" // 如果你的项目依赖于 Node.js 的类型定义,可以添加这个

}

}

webpack.config,js

const HtmlWebpackPlugin = require('html-webpack-plugin');

const path =require('path');

//引入插件

//webpack中所有的配置信息都应该写在module.exports中

module.exports = {

mode: 'development',

//入口文件

entry:"./src/index.ts",

//指定打包文件所在目录

output:{

//指定打包文件夹的目录

path:path.resolve(__dirname,'dist'),

filename:"bundle.js",

//告诉webpack不使用箭头函数

// environment:{

// arrowFunction:false

// }

},

//指定webpack打包时要使用模块

module:{

rules:[

{

//test指定的是对谁生效

test:/\.ts$/,

// 要使用的loader

use:[

{

loader: 'babel-loader',

options: {

presets: [

'@babel/preset-env', { targets: { chrome: "88" }, corejs: "3.0", useBuiltIns: "usage" }

]

}

},

'ts-loader',

],

//要排除的文件

exclude:/node-modules/

}

]

},

plugins:[

new HtmlWebpackPlugin({

// title:"自定义title"

template:"./src/index.html"

}),

],

resolve:{

extensions: '.ts','.js'

}

}

前端配置文件很多,大致了解意思即可,需要用的时候直接用配置好的模版就行

相关推荐
掘金挖土4 分钟前
前端手摸手跑路之 AI 应用开发(九)
前端·后端
中文呀2 小时前
三维 GIS 离线缓存实战:逆向 CesiumOfflineCache,并亲手为它补上"自动更新"能力
前端
前进前进前进3 小时前
TRAE 全链路实战:做了一个警示牌一键生成器:纯 Canvas、单文件、零依赖
前端
小万7424 小时前
God‘s Eye View 深度解析:15 路公开信号 + CesiumJS 的浏览器级 OSINT 控制台,60 帧渲染的“真实间谍卫星模拟器”
前端
IT星宿4 小时前
浏览器标签页全是一个图标:我用名字哈希生成 favicon,让每个项目都有身份标识
前端
OpsEye4 小时前
大模型账单对账难:不同厂商 Token 统计口径差异怎么处理
javascript·ai编程
全栈项目管理程序猿4 小时前
ArcGIS JS 基础教程(32):体元系列 - VoxelSlice 体元切片
前端·javascript
拖孩6 小时前
AI 帮我写的小程序「厨菜记」上线满月了,挣了两百块!!!
前端·后端·微信小程序
用户360055579006 小时前
Kestrel_VLLM - 13 · 为什么排除 MoE FFN Tiling 与 Tensor Core
前端
Hilaku7 小时前
AI 流式输出都用 SSE,什么时候必须换 WebSocket?
前端·javascript·程序员