第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在后端使用網(wǎng)絡包

在后端使用網(wǎng)絡包

慕碼人2483693 2022-09-23 18:34:56
我正在嘗試使用express制作節(jié)點后端服務,我也想使用webpack將所有內(nèi)容捆綁在單個文件中(不知道它是否有意義,我只是在學習)。我以這種方式設置:package.json{  "name": "something",  "version": "1.0.0",  "description": "",  "main": "index.js",  "scripts": {    "build": "webpack --config webpack.config.js --mode=production",    "test": "echo \"Error: no test specified\" && exit 1"  },  "author": "",  "license": "ISC",  "devDependencies": {    "webpack": "^4.43.0",    "webpack-cli": "^3.3.11",    "webpack-node-externals": "^1.7.2"  },  "dependencies": {    "express": "^4.17.1"  }}這是我的文件:webpack.config.jsconst path = require('path');const nodeExternals = require('webpack-node-externals');const webpack = require('webpack');const backend = {  name: 'backend',  target: 'node',  devtool: 'source-map',  externals: [nodeExternals],  entry: path.resolve(__dirname, 'src/index.js'),  output: {    path: path.resolve(__dirname, 'bin'),    filename: 'app.js'  }};module.exports = [backend];module.exports.plugins = [  new webpack.SourceMapDevToolPlugin({})];這是我的:src/index.jsvar express = require('express');var httpsrv = express();httpsrv.get("/", function(res, rep) {  console.log("inside get.");  rep.send("<div>hey js!</div>");});httpsrv.listen(8080, function() {  console.log("server started.");});很基本,不是嗎?當我構(gòu)建并運行()應用程序時,一切都很好,它的行為符合預期,但有些事情聽起來很奇怪。文件太短而無法捆綁庫,當我將我的放入容器中時,我收到此錯誤:node ./bin/app.jsapp.jsexpressapp.jsnode:alpine所以我沒有得到我想要的:單個文件中的Web服務。這是怎么回事?
查看完整描述

2 回答

?
MM們

TA貢獻1886條經(jīng)驗 獲得超2個贊

我相信這是因為您正在設置選項。externals

這是來自網(wǎng)絡包文檔

外部配置選項提供了一種從輸出捆綁包中排除依賴項的方法。相反,創(chuàng)建的捆綁包依賴于該依賴關(guān)系存在于使用者(任何最終用戶應用程序)環(huán)境中。此功能通常對庫開發(fā)人員最有用,但是有各種各樣的應用程序可用于此功能。

同樣來自網(wǎng)絡包節(jié)點外部 NPM 頁面:

externals: [nodeExternals()],以忽略node_modules文件夾中的所有模塊

如果您真的想在webpack輸出中包含部分(或全部)或依賴項,則需要更改或刪除該選項。


查看完整回答
反對 回復 2022-09-23
?
慕碼人8056858

TA貢獻1803條經(jīng)驗 獲得超6個贊

擁有模塊捆綁器的要點主要是向客戶端提供較小的捆綁軟件大小。鑒于您的代碼將從服務器端執(zhí)行,并且發(fā)送到客戶端的內(nèi)容只是對他們發(fā)出的任何請求的響應,對于剛剛學習為后端項目設置Webpack的人來說,這實際上沒有意義。

如果你有興趣使用一些Javascript風格,你仍然可以這樣做,你可以通過像Babel這樣的轉(zhuǎn)譯器發(fā)送你的代碼,但我認為情況并非如此。

關(guān)于錯誤:原因似乎是您已將屬性設置為排除您的屬性,并且這就是您的依賴項所在的位置。externalsnodeExternalsexpress


查看完整回答
反對 回復 2022-09-23
  • 2 回答
  • 0 關(guān)注
  • 96 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號