国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

使用webpack打包koa2 框架app

來源:懂視網 責編:小采 時間:2020-11-27 22:20:09
文檔

使用webpack打包koa2 框架app

使用webpack打包koa2 框架app:以前在用koa寫server的時候,發布簡直是噩夢。需要將src里面的全部文件都覆蓋掉,config配置文件也要覆蓋,稍有不慎就會線上報各種各樣的問題,然后就得回退,本地調好在發布。偶然看見一篇文章講 如何使用webpack打包koa app ,驚為天人,原來webpac
推薦度:
導讀使用webpack打包koa2 框架app:以前在用koa寫server的時候,發布簡直是噩夢。需要將src里面的全部文件都覆蓋掉,config配置文件也要覆蓋,稍有不慎就會線上報各種各樣的問題,然后就得回退,本地調好在發布。偶然看見一篇文章講 如何使用webpack打包koa app ,驚為天人,原來webpac

四:babel配置

為了兼容低版本的node不原生支持async/await的問題。這里babel我使用了babel-preset-env{"modules": false}的配置。此配置會將es6語法轉為es5語法,例如let、const轉為var。

同時將所有的async/await函數也轉成了polyfill里定義的_asyncToGenerator函數。

function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }

其實是使用promise實現了async函數的功能。

當然這個函數在運行時還需要regeneratorRuntime函數。所以我在全局引入了babel-polyfill來提供regeneratorRuntime函。

注:如果你的node版本很高且原生支持async/await,大可將babel-preset-env和babel-polyfill省略掉

代碼:

const path = require('path');
const webpack = require('webpack');
const _externals = require('externals-dependencies')

module.exports = {
 entry: {
 app: [
 // 如果polyfill放在這里,打包的時候將不會被external,必須在js里require才能有效external
 // 'babel-polyfill',
 './src/index.js'
 ]
 },
 output: {
 path: path.resolve(__dirname),
 filename: '[name].js'
 },
 resolve: {
 extensions: [".js"]
 },
 target: 'node',
 externals: _externals(),
 context: __dirname,
 node: {
 console: true,
 global: true,
 process: true,
 Buffer: true,
 __filename: true,
 __dirname: true,
 setImmediate: true,
 path: true
 },
 module: {
 rules: [
 {
 test: /\.js/,
 use: ['babel-loader']
 }
 ]
 },
 plugins: [
 new webpack.DefinePlugin({
 'process.env': {
 NODE_ENV: '"development"'
 }
 }),
 ]
}

部署

經過打包,部署的時候就方便多了,只需要將package.json、app.js、以及view里的html部署上線就好了。然后在服務器上執行

1. npm install
2. npm run for

然后server就后臺運行了。如果需要更新發布,只需要本地重新npm run dev或npm run build打好包,拖到服務器覆蓋app.js即可。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

使用webpack打包koa2 框架app

使用webpack打包koa2 框架app:以前在用koa寫server的時候,發布簡直是噩夢。需要將src里面的全部文件都覆蓋掉,config配置文件也要覆蓋,稍有不慎就會線上報各種各樣的問題,然后就得回退,本地調好在發布。偶然看見一篇文章講 如何使用webpack打包koa app ,驚為天人,原來webpac
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲欧美另类日本 | 国内视频一区二区三区 | 国产欧美另类第一页 | 欧洲综合网 | 国产精品美女流白浆视频 | 伊人久久综合成人网小说 | 日韩欧美伦理 | 国产精品电影一区二区三区 | 夜色毛片永久免费 | 欧美成人一级视频 | 欧美综合亚洲 | 国产精品99久久 | 一级一级特黄女人精品毛片视频 | 欧美日韩极品 | 国产浴室偷窥在线播放 | 色国产精品一区在线观看 | 91久久精品国产一区二区 | 视频在线观看一区 | 一区二区三区在线视频观看 | 国产精品一区二区四区 | 欧美日韩视频 | 久久综合影院 | 国产精品视频久久久久 | 九九51精品国产免费看 | 国产在线精品一区二区夜色 | 欧美午夜视频在线观看 | 欧洲高清一区二区三区试看 | 波多野结衣在线免费观看 | 欧美成人禁片在线www | 另类欧美亚洲 | 在线观看黄a大片爽爽影院免费 | 日韩高清第一页 | 亚洲国产精品一区 | 久久99精品国产麻豆不卡 | 国产高清视频在线 | 一级毛片免费视频 | 日韩欧美亚州 | 亚洲情a成黄在线观看动 | 美女洗澡一级毛片 | 中文亚洲欧美日韩无线码 | 一区二区三区中文字幕 |