zoukankan      html  css  js  c++  java
  • Typescript搭建开发环境

    为了方便后期使用,我们搭建一个基于Typescript的开发环境,后期的项目都可以基于此进行开发。

    • 建立一个空的项目文件,使用npm init命令生成相应的json配置文件,(也可以使用npm init -y,使用默认配置)
      //注意事项:
      1、在输入了npm init内容后,我们需要填写配置项,其中
              entry point: ./src/index.ts
              keywords:typescript,source_code,lison
              license:MIT  
    • 创建项目文件目录
      demo2
      │  package.json  // 配置文件
      │  
      ├─build   // webpack打包文件和配置
      ├─src      //  项目代码文件
      │  ├─api
      │  ├─assets
      │  ├─config
      │  ├─tools
      │  └─utils
      └─typings  // ts文件集
      
    •  安装ts:npm install typescript tslint -g, 然后使用ts初始化项目: tsc --init 命令会生成json文件

    •  添加webpack配置,首先安装:cnpm install webpack webpack-cli webpack-dev-server -D
    •  最后编写相应的webpack.json.js
      const HtmlWebpackPlugin = require('html-webpack-plugin')
      const CleaWebpackPlugin = require('clean-webpack-plugin')
      
      module.exports = {
        entry: "./src/index.ts", // 入口点
        output: {
          filename: "main.js", // 编译后的输出文件, wepack自动引入main.js到index.html中
        },
        resolve: {
          extensions: [".js", ".ts", ".tsx"], // 自动加载文件后缀的文件
        },
        module: {
          rules: {
            test: /.tsx?$/,
            use: "ts-loader", // 将tsx的文件用ts-loader解析
            exclude: /node_modules/, // 忽略到nodemodules
          },
        },
        // NODE_ENV在package.json中传入,在其中使用corss-env 传递环境变量,使用dev-server启动服务(需要安装cnpm install cross-env -D
        devtool: process.env.NODE_ENV === "production" ? false : "inline-source-map", // 通过环境变量判断是否加载此选项
      
        devServer:{
            contentBase:'./dist', // 启动目录
            stats:'errors-only',  // 控制台只展示error信息
            compress:false,  // 是否压缩
            host:'localhost',
            port:8089
        },
        plugins:[
            // 安装插件 cnpm install clean-webpack-plugin html-webpack-plugin -D
            new CleaWebpackPlugin ({
                cleanOnceBeforeBuildPatterns:['./dist']
            }),
            new HtmlWebpackPlugin({
                template:'./src/template/index.html'
            })
        ]
      };  
    • package.json文件配置项目启动文件
      {
        "name": "demo2",
        "version": "1.0.0",
        "description": "",
        "main": "./src/index.ts",
        "scripts": {
          "test": "echo "Error: no test specified" && exit 1",
          "start": "cross-env NODE_ENV=development webpack-dev-server --config ./build/webpack.config.js"
        },
        "keywords": [
          "typescript",
          "source_code",
          "lison"
        ],
        "author": "",
        "license": "MIT",
        "devDependencies": {
          "webpack": "^4.43.0",
          "webpack-cli": "^3.3.11",
          "webpack-dev-server": "^3.0.0"
        }
      }
      

        

     枚举类型

    // 使用枚举类型可以为一组数值赋予友好的名字,如下的Red等均为键,默认的值从0开始
    // 下面我们订初始值为1,依次累加
    enum Color {Red=1, Green, Yellow}
    let c: Color = Color.Green
    console.log(c)  // 2
    
    // 如果中间的值改变那?
    enum Color2 {Red, Green, Yellow=12, Blue, Orange}
    console.log(Color2.Green, Color2.Orange) // 1  14
    
    // 枚举还提供了一个方法可以通过值来获取它的键
    let colorName : string = Color[2]
    console.log(colorName) // 'Green'
    

      

  • 相关阅读:
    数据分析三剑客numpy pandas Matplotlib
    算法 初识
    python 爬虫二
    python 爬虫一
    python celery
    elasticsearch 学习
    ansible 基本使用
    面试题
    奇技淫巧
    【前端基础】- CSS 1-CSS选择器
  • 原文地址:https://www.cnblogs.com/double-W/p/12887919.html
Copyright © 2011-2022 走看看