TypeScript Bundlingwebpack integrationUsually, in actual development, we need to use build tools to package the code; TS can also be used in conjunction with build tools. The following uses webpack as an example to introduce how to use TS in conjunction with build tools. Here are the steps: Initialize the project Enter the project root directory and execute the command Download the build tools The command is as follows: npm i -D webpack webpack-cli webpack-dev-server typescript ts-loader clean-webpack-plugin A total of 7 packages were installed:
Configure webpack Create the webpack configuration file const path = require("path"); const HtmlWebpackPlugin = require("html-webpack-plugin"); const { CleanWebpackPlugin } = require("clean-webpack-plugin"); module.exports = { optimization: minimize: false // turn off code compression, optional}, entry: "./src/index.ts", devtool: "inline-source-map", devServer: { contentBase: './dist' }, output: { path: path.resolve(__dirname, "dist"), filename: "bundle.js", environment: arrowFunction: false // Turn off webpack's arrow function, optional} }, resolve: { extensions: [".ts", ".js"] }, module: { rules: { test: /\.ts$/, use: { loader: "ts-loader" }, exclude: /node_modules/ } ] }, plugins: [ new CleanWebpackPlugin(), new HtmlWebpackPlugin({ title:'TS test' }), ] } Configure TS compilation options Create tsconfig.json in the root directory and configure it according to your needs { "compilerOptions": { "target": "ES2015", "module": "ES2015", "strict": true } } Modify package.json configuration Modify package.json and add the following configuration { ... "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "webpack", "start": "webpack serve --open chrome.exe" }, ... } Project Usage Create a ts file under src and execute Or execute Babel In addition to webpack, babel is often needed to convert code during development; In order to make it compatible with more browsers, based on the above steps, introduce babel into the project through the following steps;
Install dependency packages: npm i -D @babel/core @babel/preset-env babel-loader core-js A total of 4 packages were installed, namely:
Modify the webpack.config.js configuration file module: { rules: { test: /\.ts$/, use: [ { loader: "babel-loader", options:{ presets: [ [ "@babel/preset-env", { "targets":{ "chrome": "58", "ie": "11" }, "corejs":"3", "useBuiltIns": "usage" } ] ] } }, { loader: "ts-loader", } ], exclude: /node_modules/ } ] } In this way, the files compiled with ts will be processed by babel again; Make the code directly usable in most browsers; You can also specify the browser versions to be compatible in the targets configuration options; This is the end of this article about using webpack to package and compile TypeScript code. For more relevant webpack packaging and compiling TypeScript content, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: Detailed explanation of Zabbix installation and deployment practices
<br />Original text: http://andymao.com/andy...
In the fifth issue of Web Skills, a technical sol...
The effect is as follows: Example 1 Example 2: Ta...
I updated MySQL 8.0 today. The first problem: Nav...
Table of contents What is async? Why do we need a...
Implemented according to the online tutorial. zab...
Enable remote access rights for mysql By default,...
The specific code for JavaScript to implement the...
This article example shares the specific code of ...
[LeetCode] 175.Combine Two Tables Table: Person +...
wangEditor is a web rich text editor developed ba...
0x0 Test Environment The headquarters production ...
Preface JSON is a lightweight data exchange forma...
Table of contents 1. The default focus is on the ...
This article uses an example to illustrate the co...