从零一步一步搭建TypeScript+webpack4开发环境

前言

相信你们都知道TypeScript的好处,TypeScript编译工具能够运行在任何服务器和任何系统上,TypeScript增长了代码的可读性和可维护性,很值得咱们学习!html

下边我将带你们一步步实现TypeScript开发环境搭建~
cmd-markdown-logo前端

安装Node.js

相信你们电脑通常都安装了node.jsnode

若是不肯定是否安装了的话,能够在cmd里面输入如下命令:webpack

node -v

若是看到了版本号,则说明已经安装好了~git

建立一个文件夹

文件夹名字:xiaoming
mkdir xiaoming

切换到新建文件夹目录

cd xiaoming

初始化项目

npm init

回答问题

接着出来了这么一系列的问题,你们能够直接回车,使用默认值
package name: (xiaoming)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to C:\Users\明\Desktop\xiaoming\package.json:

{
  "name": "xiaoming",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this OK? (yes)

接着项目就会出现一个package.json的配置文件web

出现的package.json配置文件内容

内容以下:
{
  "name": "xiaoming",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

全局安装typescript

mac电脑须要在npm 前面加sudo,表明以管理员身份运行
npm install webpack webpack-cli typescript ts-loader --save-dev

安装成功后进入项目根目录typescript

用tsc命令进行初始化

tsc --init

此时项目根目录多了一个tsconfig.json文件npm

此时tsconfig.json代码以下:

cmd-markdown-logo

添加webpack

再添加webpack,这里咱们使用webpack4
npm install webpack-cli webpack dev-server -D

在这里我提一下webpack4的亮点:json

webpack4最大的亮点就是尽量少的须要咱们去配置浏览器

咱们知道原来在使用webpack二、3的时候,咱们须要写大量的wepack配置,不少资源都要添加node,webpack4不少东西是零配置的

这里安装完了咱们须要写一个webpack的配置文件~

写webpck的配置文件

建立一个build文件夹,里面建立webpack.config.js文件, 代码以下:
const HtmlWebpackPlugin = require('html-webpack-plugin')
const { CleanWebpackPlugin }  = require('clean-webpack-plugin')
//使用node的模块
module.exports = {
    //这就是咱们项目编译的入口文件
    entry: "./src/index.ts",
    output: {
        filename: "main.js"
    },
    resolve: {
        extensions: ['.ts','tsx','.js']
    },
    //这里能够配置一些对指定文件的处理
    //这里匹配后缀为ts或者tsx的文件
    //使用exclude来排除一些文件
    module:{
        rules:[
            {
                test:/\.tsx?$/,
                use:'ts-loader',
                exclude: /node_modules/
            }
        ]
    },
    //这个参数就能够在webpack中获取到了
    devtool: process.env.NODE_ENV === 'production'? false : 'inline-source-map',
    devServer:{
        //这个本地开发环境运行时是基于哪一个文件夹做为根目录
        contentBase:'./dist',
        //当你有错误的时候在控制台打出
        stats: 'errors-only',
        //不启动压缩
        compress: false,
        host: 'localhost',
        port: 8081
    },
    //这里就是一些插件
    plugins:[
        new CleanWebpackPlugin({
            cleanOnceBeforeBuildPatterns: ['./dist']
        }),
        new HtmlWebpackPlugin({
            template: './src/template/index.html'
        })
    ]
}

继续建立文件

  • 在src的目录下,建立./src/index.ts
  • 在src的目录下,建立template文件夹
  • 在template文件夹下边建立index.html
目录结构以下:

cmd-markdown-logo

安装ts-loader

解析ts文件转换成浏览器能够识别的文件
npm install ts-loader -D

安装cross-env

用于设置环境变量的,方便设置开发环境和生产环境
npm install cross-env -D

安装一些插件

clean-webpack-plugin 能清理一些指定的文件夹

html-webpack-plugin 指定一个编译的模型

npm install clean-webpack-plugin html-webpack-plugin -D

项目中安装typescript依赖

以前是全局安装
npm install typescript

在package.json文件写指定命令

上边weapack的命令已经写好了,下边咱们就在package.json文件中写指定的命令:

"scripts": {
    "start": "cross-env NODE_ENV=development webpack-dev-server --config ./build/webpack.config.js",
    "build": "cross-env NODE_ENV=production webpack --config ./build/webpack.config.js"
  },

在index.ts写代码测试一下

let num: number = 888

document.title = 'ming'

启动本地服务器执行

安装完毕后
npm start

运行效果:
cmd-markdown-logo

打包执行

npm run build

这里就多了个dist目录
cmd-markdown-logo

最后

但愿看到文章的同窗都有收获!

文章要是有不对的地方还望指正!

最后祝你们都愈来愈优秀!

欢迎你们加入,一块儿学习前端,共同进步!
cmd-markdown-logo
cmd-markdown-logo

相关文章
相关标签/搜索