• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答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
    主站蜘蛛池模板: 国产精品无码免费播放| 久久国产成人精品国产成人亚洲| 国产成人综合久久精品尤物| 日韩精品国产另类专区| 精品国产一级在线观看| 国产精品久久影院| 欧美亚洲色综久久精品国产| 欧美激情精品久久久久久久| 97精品国产自在现线免费观看| 国产成人A人亚洲精品无码| 亚洲伊人久久精品影院| 精品国产午夜理论片不卡| 久久91精品综合国产首页| 日本精品久久久久中文字幕8| 国产精品成熟老女人视频| 亚洲精品少妇30p| 久久精品无码一区二区三区日韩 | 亚洲精品tv久久久久久久久久| 99热成人精品国产免男男| 国产精品亚洲精品观看不卡| 国产精品乱码高清在线观看 | 久久无码精品一区二区三区| 国产美女精品视频| 国内精品99亚洲免费高清| 国产91在线精品| 99精品久久久久久久婷婷| 亚洲自偷自偷精品| 国产精品 猎奇 另类视频| 国产成人精品久久亚洲高清不卡| 日韩欧美精品不卡| 亚洲国产精品一区| 91麻豆精品一二三区在线| 91大神精品全国在线观看| 2022精品国偷自产免费观看| 91精品日韩人妻无码久久不卡 | 日韩精品亚洲人成在线观看| 中文字幕日韩精品无码内射 | 无码精品人妻一区二区三区AV| 久久精品一区二区影院| 四虎精品免费永久免费视频| 夜夜爽一区二区三区精品|