您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關webpack如何搭建腳手架打包TypeScript代碼,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創建文件夾
目錄結構: dabaots
初始化 npm init -y
生成package.json文件
目錄結構:
dabaots
dabaots / package.json
然后在開發環境中安裝以下幾個工具
npm i -D
webpack··························(打包代碼的核心工具
webpack-cli·····················(webpack的命令行工具)
typescript ·······················(寫ts所需的核心包)
ts-loader ·························(通過ts-loader可以對webpack和ts進行整合)
html-webpack-plugin … (是自動生成html的一個webpack插件)
webpack-dev-server … (無需刷新更新頁面)
clean-webpack-plugin … ( 每次打包上線之前都會自動清空dist內的文件如何重新生成最新的文件)
"@babel/core" “@babel/preset-env” babel-loader core-js(安裝babel轉換,你是什么環境他就會轉成什么代碼)
可能會遇到的小問題:這里可能會出現的問題就是你下載的依賴包webpack-dev-server版本如果和谷歌的不適配,建議將插件版本改低一點或者谷歌瀏覽器升級成最新版本否則會出現錯誤Cannot GET /chrome.exe
接下來創建webpack.config.js進行配置
目錄結構:
dabaots
dabaots / package.json
dabaots / webpack.config.js
// 引入一個包 const path = require("path") //引入自動生成html的包 const HtmlWebpackPlugin = require("html-webpack-plugin") //引入更新dist文件的插件 const {CleanWebpackPlugin} = require("clean-webpack-plugin") // webpack中的所有的配置信息都應該寫入moudle.exports中 module.exports={ // 指定入口文件 entry:"./src/index.ts", // 指定打包文件所在目錄 output:{ // 指定打包文件的目錄 path:path.resolve(__dirname,"dist"), // 指定打包后文件的文件 filename:"bundle.js", //編譯的時候不使用箭頭函數 environment: { arrowFunction: false } }, //webpack打包時要使用到module這個模塊 module:{ // 指定要加載的規則 rules:[{ // test指定的是規則生效的文件 test:/\.ts$/, // use是要使用的loader //配置babel use:[ {//指定加載器 loader:"babel-loader", options:{ //設置預定義環境 presets:[ [ //指定環境的插件 "@babel/preset-env", //配置信息 { //要兼容的瀏覽器 targets:{ "chrome":"88" }, // 指定corejs的版本 "corejs":"3", //表示按需加載 "useBuiltIns":"usage" } ] ] } }, 'ts-loader' ], //設置不被打包上傳的文件 exclude:["/node_modules/"] }] }, // 配置webpack插件 plugins:[ new HtmlWebpackPlugin({ // 自定義html模板地址 template:"./src/index.html" }), //每次打包上線之前都會自動清空dist內的文件如何重新生成最新的文件 new CleanWebpackPlugin() ], resolve:{ //解決在ts文件內部單獨引入其他ts包時候報錯的問題 extensions:['.ts','.js'] } }
最后在package.json中寫入打包及運行等腳本
在終端npm run build
打包運行即可
打包成功后會自動生成一個dist文件
npm run start
自動打開谷歌瀏覽器且內容為熱更新的
關于“webpack如何搭建腳手架打包TypeScript代碼”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。