首页 前端 React.js 正文

typescriptweb

如何使用TypeScript和Webpack编写网页应用

这些都是前端的工具并不能直接编写东西,webpack的话是一个前端的自动化构建的工具只能是提高团队合作和开发效率

webstorm如何调试typescript代码

需要先配置一个调试的服务器,如果会需要安装对应的浏览器插件配合使用

1. 首先要安装WebStrom以及在Chrome浏览器里配置好Live Edit插件。

2. 运行WebStrom,创建一个web project。

3. 修改index.html文件如下:

!DOCTYPE html

html

body

p

JavaScript 能够直接写入 HTML 输出流中:

/p

script

cars=["BMW","Volvo","Saab","Ford"];

for (var i=0;icars.length;i++)

{

document.write(cars[i] + "br");

}

/script

p

您只能在 HTML 输出流中使用 strongdocument.write/strong。

如果您在文档已加载后使用它(比如在函数中),会覆盖整个文档。

/p

/body

/html

4. 设置断点,选择index.html文件,从右键菜单打开debug。

typescriptweb  第1张

怎么用typescript做网页

TypeScript项目和tsconfig.json

首先安装TypeScript编译器

npm i -g typescript

进入项目目录,新建一个 hello.ts

function sayHello(name: string) {

return 'Hello, ' + name;

}

let myName = 'Cheng Wang';

console.log(sayHello(myName));

然后执行

tsc hello.ts

编译器会生成 hello.js

function sayHello(name) {

return 'Hello, ' + name;

}

var myName = 'Cheng Wang';

console.log(sayHello(myName));

为了方便编译器和编辑器识别TypeScript项目,TypeScript约定了tsconfig.json文件来存储项目配置,如果运行 tsc 时不指定输入文件,编译器则会查找项目目录中的这个文件,如果找不到则会依次向父级目录查找。比如这样:

{

"compilerOptions": {

"outFile": "dist/app.js",

"sourceMap": true

},

"files": [

"src/app.ts"

]

}

直接运行 tsc ,会自动把 src/app.ts 编译到 dist/app.js 。

关于这个配置文件的更多选项,可以看 官方文档 。

使用模块

TypeScript中,模块的使用方法与ES6一致。

src/modules/utilities.ts :

function getUrlParam(key: string) {

const REG_PATTERN = new RegExp('(^|)' + key + '=([^]*)(|$)', 'i');

let result: string[] = location.search.substr(1).match(REG_PATTERN);

if (result !== null) {

return decodeURIComponent(result[2]);

} else {

return null;

}

}

export { getUrlParam }

src/app.ts :

import { getUrlParam } from './modules/utilities';

let deviceType: string = getUrlParam('deviceType');

console.log(deviceType);

编译后的app.js(TypeScript编译器在输出单个文件时,只能使用AMD或System模块规范):

define("modules/utilities", ["require", "exports"], function (require, exports) {

"use strict";

function getUrlParam(key) {

var REG_PATTERN = new RegExp('(^|)' + key + '=([^]*)(|$)', 'i');

var result = location.search.substr(1).match(REG_PATTERN);

if (result !== null) {

return decodeURIComponent(result[2]);

}

else {

return null;

}

}

exports.getUrlParam = getUrlParam;

});

define("app", ["require", "exports", "modules/utilities"], function (require, exports, utilities_1) {

"use strict";

var deviceType = utilities_1.getUrlParam('deviceType');

console.log(deviceType);

});

使用NPM库

我们开发JS程序的时候,要用到NPM上的第三方的库,比如jQuery、Lodash等,但是绝大多数库都是用JS写的,没有类型提示,我们也不能在在代码中将这些库作为模块引入。

比如我们需要在项目中使用Lodash:

npm i --save lodash

然后在代码中引入:

import * as _ from 'lodash';

console.log(_.camelCase('helloworld'))

运行 tsc 则报错:

src/app.ts(1,20): error TS2307: Cannot find module 'lodash'.

如果想在TypeScript代码中直接使用npm上的JS库,需要借助Typings这个工具。

Typings也是一个包管理器,它管理的是JS代码“定义文件”,用Typings安装相应的定义文件后,编辑器和编译器就可以去node_modules目录中找到相应的JS库,并编译到最终的JS代码中。

先安装Typings工具:

npm i -g typings

然后安装Lodash的定义文件:

typings install --save lodash

Typings会去NPM、Bower上寻找库的作者加的定义文件,但是有的库如jQuery并没有官方的定义文件,则需要从社区维护的 DefinitelyTyped 目录下安装:

typings install --save --ambient jquery

然后再tsconfig.json中的files配置中加入一条:

"files": [

"src/app.ts",

"typings/main.d.ts"

]

此时编译就不会提示找不到模块了。

安装好定义文件之后,如果使用Visual Studio Code等对TypeScript支持较好的编辑器,则会提供更加强大的代码提示功能。

使用Webpack构建

TypeScript编译器支持很多模块组织规范,如ES6、commonJS、AMD等,但是如果想要将多个ts文件打包成一个文件,TypeScript只支持AMD和System,对于浏览器应用来说,还需要引入第三方的模块加载器。如果使用Webpack配合TypeScript的loader,则可以方便地构建浏览器可以运行的JS代码。

首先安装Webpack和ts-loader:

npm i webpack -g

npm i ts-loader --save-dev

然后配置项目目录中的webpack.config.js:

module.exports = {

entry: './src/app.ts',

output: {

filename: 'app.js',

path: './dist'

},

resolve: {

extensions: ['', '.webpack.js', '.web.js', '.ts', '.js']

},

module: {

loaders: [

{ test: //.ts$/, loader: 'ts-loader' }

]

}

}

然后就可以通过运行 webpack 来构建了,构建生成的代码自带了webpack的模块加载器,可以直接在浏览器中运行。

使用 Webstorm 或 IDEA 调试 typescript

1. 使用 ts-node ,其描述如下

2. 全局安装 ts-node

2. tsconfig.json 支持 sourceMap

3. 安装 Run Configuration for TypeScript 插件

4. 进入 ts 文件鼠标右击选择 Debug 选项

插件本质还是依赖于 ts-node 来运行,只是其可以帮助我们自动配置好 ts-node 运行参数,简化使用

打赏
海报

本文转载自互联网,旨在分享有价值的内容,文章如有侵权请联系删除,部分文章如未署名作者来源请联系我们及时备注,感谢您的支持。

转载请注明本文地址:https://www.shouxicto.com/article/122158.html

-->

相关推荐

js开发微信小程序?

js开发微信小程序?

如何使用TypeScript和Webpack编写网页应用 这些都是前端的工具并不能直接编写东西,webpack的话是一个前端的自动化构建...

React.js 2023.06.05 0 11

reactui(react ui m)

reactui(react ui m)

如何使用TypeScript和Webpack编写网页应用 这些都是前端的工具并不能直接编写东西,webpack的话是一个前端的自动化构建...

React.js 2023.06.05 0 12

支付宝
微信
赞助本站