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']

}

}

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

相关推荐
方也_arkling28 分钟前
别名路径联想提示。@/统一文件路径的配置
前端·javascript
毕设源码-朱学姐31 分钟前
【开题答辩全过程】以 基于web教师继续教育系统的设计与实现为例,包含答辩的问题和答案
前端
qq_1777673736 分钟前
React Native鸿蒙跨平台剧集管理应用实现,包含主应用组件、剧集列表、分类筛选、搜索排序等功能模块
javascript·react native·react.js·交互·harmonyos
qq_1777673742 分钟前
React Native鸿蒙跨平台自定义复选框组件,通过样式数组实现选中/未选中状态的样式切换,使用链式调用替代样式数组,实现状态驱动的样式变化
javascript·react native·react.js·架构·ecmascript·harmonyos·媒体
web打印社区1 小时前
web-print-pdf:突破浏览器限制,实现专业级Web静默打印
前端·javascript·vue.js·electron·html
RFCEO1 小时前
前端编程 课程十三、:CSS核心基础1:CSS选择器
前端·css·css基础选择器详细教程·css类选择器使用方法·css类选择器命名规范·css后代选择器·精准选中嵌套元素
烬头88211 小时前
React Native鸿蒙跨平台采用了函数式组件的形式,通过 props 接收分类数据,使用 TouchableOpacity实现了点击交互效果
javascript·react native·react.js·ecmascript·交互·harmonyos
Amumu121381 小时前
Vuex介绍
前端·javascript·vue.js
We་ct1 小时前
LeetCode 54. 螺旋矩阵:两种解法吃透顺时针遍历逻辑
前端·算法·leetcode·矩阵·typescript
2601_949809592 小时前
flutter_for_openharmony家庭相册app实战+相册详情实现
javascript·flutter·ajax