为了方便后期使用,我们搭建一个基于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'
查看更多关于Typescript搭建开发环境的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did223236