尝试自己搭一个简单的typescript运行环境

开发typescript项目有一些现成的脚手架,比如:typescript-library-starter,它的配置齐全,更适合用在实际项目开发上。其实在学习阶段可以自己搭建一个简单的typescript运行环境,只用作学习typescript语法。

初始化项目

依次执行:

mkdir ts-learn-demo

cd ts-learn-demo

npm init -y

然后全局安装 typescript,便于在任意文件夹使用 tsc 命令:

// 安装失败的话请以管理员身份运行,此处是sudo命令是mac上管理员权限
sudo npm install typescript -g

安装成功后进入项目根目录,使用 tsc 命令进行初始化:

tsc --init

此时项目根目录里多了一个 tsconfig.json 文件,它的配置信息参考:https://www.tslang.cn/docs/handbook/tsconfig-json.html

在项目里安装 typescript,注意这一次不是全局安装,全局安装是为了tsc命令,这里是为了本地编译和开发

npm install typescript

配置TSLint(可选)

类似ESLint,统一代码风格,全局安装TSLint:

sudo npm install tslint -g

然后在项目中初始化:

tslint -i

此时项目目录中会多一个 tslint.json 文件,关于它的配置可自行百度,在学习阶段默认的配置即可。

配置webpack

使用webpack进来开发和打包,先安装一些必要的插件:

npm install webpack webpack-cli webpack-dev-server -D

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

npm install ts-loader -D

在项目根目录创建 webpack.config.js 文件:

const HtmlWebpackPlugin = require(‘html-webpack-plugin‘)
const { CleanWebpackPlugin } = require(‘clean-webpack-plugin‘)

module.exports = {
  entry: ‘./src/index.ts‘,
  output: {
    filename: ‘main.js‘
  },
  resolve: {
    extensions: [‘.js‘, ‘ts‘, ‘tsx‘]
  },
  module: {
    // 配置以.ts/.tsx结尾的文件都用ts-loader解析
    rules: [
      {
        test: /\.tsx?$/,
        use: ‘ts-loader‘,
        exclude: /node_modules/
      }
    ]
  },
  devtool: process.env.NODE_ENV === ‘production‘ ? false : ‘inline-source-map‘,
  devServer: {
    contentBase: ‘./dist‘,
    stats: ‘errors-only‘,
    compress: false,
    host: ‘localhost‘,
    port: 8888
  },
  plugins: [
    new CleanWebpackPlugin({
      cleanOnceBeforeBuildPatterns: [‘./dist‘]
    }),
    new HtmlWebpackPlugin({
      template: ‘./src/template/index.html‘
    })
  ]
}

上述webpack配置信息中可知,项目源码放在 src 目录下,入口文件是 ./src/index.ts 。接下来还要创建模板html文件,在 ./src/template目录下创建index.html模板:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>TS Demo</title>
  </head>
  <body></body>
</html>

目录结构如下:

开发和打包

webpack配置文件已经写好,接下来只要写好script命令就可以轻松开发了。在package.json文件中指定命令:

// start 是启动本地开发
// build是打包
"scripts": {
    "start": "cross-env NODE_ENV=development webpack-dev-server --mode=development --config webpack.config.js",
    "build": "cross-env NODE_ENV=production webpack --mode=production --config webpack.config.js"
  },

注意到命令里有一个 cross-env,这个是指定当前环境变量的,需要安装一下:

npm install cross-env

好了,现在在index.ts随便写一些ts代码测试一下:

// ./src/index.ts

let str: string = ‘hello world‘

document.write(str)

本地启动服务执行:

npm start

打包执行:

npm run build

结尾

此typescript运行环境只是简单的做到可执行ts文件,还有很多不足之处,在学习typescript的同时,可以再慢慢改善。

原文地址:https://www.cnblogs.com/wjaaron/p/11583811.html

时间: 2024-10-28 23:47:17

尝试自己搭一个简单的typescript运行环境的相关文章

由一个简单需求到Linux环境下的syslog、unix domain socket

本文记录了因为一个简单的日志需求,继而对linux环境下syslog.rsyslog.unix domain socket的学习.本文关注使用层面,并不涉及rsyslog的实现原理,感兴趣的读者可以参考rsyslog官网.另外,本文实验的环境实在debian8,如果是其他linux发行版本或者debian的其他版本,可能会稍微有些差异. 需求: 工作中有一个在Linux(debian8)环境下运行的服务器程序,用python语言实现,代码中有不同优先级的日志需要记录,开发的时候都是使用pytho

python初尝试,写一个简单的爬虫程序

1.首先因为mac自带python,版本为python2.7.10 2.安装pip,因为已经有了,所以不能用brew install.这里用sudo easy_install pip 3.安装beatifulsoup4,sudo -H pip install beautifulsoup4. BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式. 4.安装html5lib,sudo pip insta

Liunx----Shell脚本简单介绍 Shell运行环境和Shell变量

Shell 脚本(shell script),是一种为 shell 编写的脚本程序. Shell 编程跟 java.php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了. Linux 的 Shell 种类众多,常见的有: Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell(/bin/bash) C Shell(/usr/bin/csh) K Shell(/usr/bin/ksh) 默认为 #!/bin/bas

带你搭一个SpringBoot+SpringData JPA的环境

前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 不知道大家对SpringBoot和Spring Data JPA了解多少,如果你已经学过Spring和Hibernate的话,那么SpringBoot和SpringData JPA可以分分钟上手的.SpringBoot和SpringData JPA的好处我就不说了,当时我学习的时候也粗略做过笔记,有兴趣的同学可以去看看 SpringBoot就是这么简

模拟搭建Web项目的真实运行环境(一)

序言 最近尝试完整搭建一个Web项目的运行环境,总结一下这几个月学到的知识点. 后面的文章主要包括一下几个内容: A. 搭建一个Linux服务器,用来部署Redis.Mongo等数据存储环境: B. 搭建一个Windows Server 2008,用IIS来部署Web项目: 接下来进入主题,本篇主要介绍用虚拟机部署测试环境的时候, 如何配置相关的网络连接. 一.用VM安装一个win7客户端.ubuntu服务器.windows server 2008服务器 这里就不介绍怎么安装了,网上有很多教程.

从零使用qemu模拟器搭建arm运行环境

为什么会有这篇文章 早在2011年的时候,跟当时同事一起讨论,做Linux系统开发正处于整个Linux开发中间层,没有上层的C/C++业务和数据库的开发经验,也没有底层的内核和驱动开发经验,到底路该如何走--基于对Linux系统开发的理解和内核的兴趣,认为选择Linux内核开发更适合自己.于是到淘宝上买了块三星s3c2440(arm 9)开发板,学起内核开发.没有过多久,机缘巧合,正式加入了公司的内核开发部.就这样跟内核和arm打上交道了. 没有想到这一做就是3年了,arm芯片只有在公司才能使用

搭建ES6运行环境

当ES5还没有完全普及时,ES6就接踵而来了,2015年6月17日,ECMAScript 6发布正式版本,即ECMAScript 2015,我们也简称它为ES6或ES2015.在发布之后的将近一年内,很多小伙伴都踊跃的学习这门新的语言,之所以说是一门新的语言,是因为跟ES5相比,语法方面变化确实有点大,可以说新的JavaScript语法看上去有种脱胎换骨的感觉.博主也曾跃跃欲试,看了很多语法方面的教程,可是无奈浏览器还未完全支持ES6的规范,只看不练,有种眼高手低的感觉,相信朋友们也会有同样的心

QT程序拷贝 转移 改变运行环境

qt程序 在windows平台下怎么运行? 以前开发环境是VS2008编译 +qt-win-opensource-4.7.4-vs2008框架 +QtCreator编辑界面(以前的例子,win7下成功安装Qt4.7).         现在需要把程序拷贝到另一台计算机上进行网络测试,不想重新安装VS2008,也不想进行部署qt程序,拷贝dll文件,就想搭配一个简单的qt开发环境或运行环境.于是安装如下简单的环境,进行测试. QT Mingw的安装,Qt for windows安装及设置Qt+Mi

使用virtualenv为应用提供了隔离的Python运行环境

在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-packages目录下. 如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3.如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办? 这种情况下,每个应用可能需要各自拥有一套"独立"的Python运行环境.virtualenv就是用来为一个应用创建一套"隔离"