TS配置笔记
{ "include": [ "./src/**/*" ], *//指定哪些ts文件须要编译 **代表任意目录 \*代表任意文件* "exclude": [ "./src/other/**/*" ], *//指定哪些ts文件不须要编译 默认值 ["node_modules","bower_components","jspm_packages"]* "extends": "./configs/base", *// 定义被继承的配置文件* "files": [ *// "core.ts"* ], *//指定编译的文件* */** *compilerOptions 编译器的选项* **/* "compilerOptions": { "target": "es6", *//指定编译成的ES版本* "module": "es6", *//指定要应用的模块化标准* *// "lib": [], //指定我的项目中引入的库,将根据这些库进行类型查看/代码提醒 个别不须要批改 除非不是在浏览器环境下运行* "outDir": "./dist", *//指定编译后的js文件寄存目录* *// "outFile": "./dist/app.js", //将 全局作用域 编译后的代码合并到一个文件* *// "allowJs": true, //是否编译js文件,默认为false* *// "checkJs": true, //查看js代码是否符合规范 默认为false* "removeComments": true, *//是否移除正文 默认为false* "noEmit": false, *//不生成编译后的js文件 默认为false* "noEmitOnError": false, *//当有谬误时,不生成编译后的js文件 默认false* */\* 严格查看 \*/* "alwaysStrict": false, *//编译后的js文件 应用严格模式 默认为false* "noImplicitAny": false, *//不容许有隐式的any 默认为false 容许* *// "noImplicitThis": true, //不容许有隐式类型的 this 默认为false* *// "strictNullChecks": true, //严格的空值查看 默认为 false* "strict": true, *//所有严格查看的总开关* }}
webpack配置
/* * @Description: * @Author: forceddd * @Date: 2021-04-02 16:50:07 */const path = require('path');const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = { mode: 'development', //入口文件 entry: './src/index.ts', //打包后的文件 output: { path: path.resolve(__dirname, 'dist'), filename: '[name].bundle.js', clean: true, //配置打包环境 environment: { //不实用箭头函数 arrowFunction: false } }, //指定webpack打包时 应用到的模块 module: { //指定打包时加载模块的规定 rules: [ { test: /\.ts$/, use: [ //配置babel { loader: 'babel-loader', //配置babel options: { //设置预约义的环境 数组 presets: [ //第一个环境 [ //要应用的插件 '@babel/preset-env', //配置信息 { //要兼容的指标浏览器 targets: { 'chrome': '88', 'ie': '11' }, //指定corejs的版本 corejs为不反对es6新个性的浏览器提供了本人的实现 'corejs': '3', //应用corejs 的形式 usage 按需加载 'useBuiltIns': 'usage', } ] ] } }, 'ts-loader'], exclude: /node_modules/ } ] }, devServer: { contentBase: './dist', hot: true }, devtool: 'inline-source-map', plugins: [ new HtmlWebpackPlugin({ title: 'ts-learning' }), ], //resolve 通知webpack 哪些文件能够作为模块被引入 resolve: { extensions: ['.ts', '.js'] }}