关于typescript:TS配置笔记

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理