用typescript
来搞开发挺方便,不过最终需要编译成javascript
才能运行,这就有点绕弯。如果用webpack
,再配置点儿插件,就能省不少事儿。
- 首先,全局安装
typescript
:
npm install -g typescript
- 然后,新建一个项目目录:
mkdir demo
cd demo
- 在demo目录中,初始化项目:
npm init -y
- 生成
tsconfig.json
配置文件,生成的文件位于项目的根目录:
tsc --init
- 编辑
tsconfig.json
配置文件,修改如下配置项:
- 指定ECMAScript目标版本
"target": "es5"
- 指定生成哪个模块系统代码
"module": "es6"
- 编译过程中需要引入的库文件的列表
针对不同的项目需求,引入的库文件可能不同。
"lib": ["es2015", "dom"]
- 允许编译javascript文件
"allowJs": true
- 设置模块解析策略
"moduleResolution": "node"
- 编辑完成后,再安装
webpack
和webpack-cli
,这两个库建议本地安装,不要全局安装:
npm install --save-dev webpack webpack-cli
- 由于
webpack
自身只理解JavaScript
,因此要处理.ts
文件,我们还要安装ts-loader
库,并在本地安装typescript
:
npm install --save-dev typescript ts-loader
- 完成上述动作后,接下来在项目根目录创建
webpack.config.js
文件,并编辑它,设置配置属性:
const path = require('path');
module.exports = {
entry: './src/demo_02.ts',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/
}]
},
resolve: {
extensions: [ '.tsx', '.ts', '.js' ]
},
};
- 我们还要编辑
package.json
文件,添加运行webpack
的脚本:
...
"scripts": {
"build": "webpack"
},
...
- 至此,我们就可以在命令行窗口运行
webpack
,对项目的文件进行编译和打包:
npm run build
补充一下:
也可以安装awesome-typescript-loader
库来代替ts-loader
库,它俩的功能是一样的,但据说awesome-typescript-loader
比ts-loader
编译.ts
文件速度更快。
- 安装
awesome-typescript-loader
库
npm install --save-dev awesome-typescript-loader
- 在
webpack.config.js
文件中设置awesome-typescript-loader
:
const path = require('path');
const { CheckerPlugin } = require('awesome-typescript-loader')
module.exports = {
entry: './src/demo_02.ts',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [{
test: /\.tsx?$/,
use: 'awesome-typescript-loader',
exclude: /node_modules/
}]
},
plugins: [
new CheckerPlugin()
],
resolve: {
extensions: [ '.tsx', '.ts', '.js' ]
},
};
网友评论