Saturday, 19 September 2020

Banging my head against the wall with this one. Could someone please look over my server file and webpack config and see what I'm doing wrong here?

Dirt simple server setup right here:const ar = require('ubiety-node-ar'); const express = require('express'); const app = express(); const port = 6600; app.get('/', (req, res) => { res.sendFile(`${__dirname}/index.html`); }); app.use(express.static('public')); app.listen(port, () => // eslint-disable-next-line no-console console.log(`Server running at http://localhost:${port}`) ); ar.ubietyAR(app); Here's my Webpack config, I think my problem is my lack of understanding with the externals field, this is my first time attempting to bundle server code, I'm very much a frontend guy. { entry: './server.prod.js', target: 'node', mode: 'production', bail: true, externals: [nodeExternals()], output: { path: Path.join(__dirname, '../build'), filename: 'server.js', libraryTarget: 'commonjs', }, optimization: { splitChunks: { chunks: 'async', }, }, module: { rules: [ { test: /\.(js)$/, exclude: /node_modules/, use: 'babel-loader', }, ], }, } Attempt one externals: [nodeExternals()], server.js 1.27 KiB 0 [emitted] main Entrypoint main = server.js [0] ./server.prod.js 368 bytes {0} [built] [1] external "ubiety-node-ar" 42 bytes {0} [built] [2] external "express" 42 bytes {0} [built] The file appears in the build folder for a split second, and disappears. no good._____Attempt two externals: ['node_modules'], server.js 1.27 KiB 0 [emitted] main Entrypoint main = server.js [0] ./server.prod.js 368 bytes {0} [built] [1] external "ubiety-node-ar" 42 bytes {0} [built] [2] external "express" 42 bytes {0} [built] Same result... no file gets output_____Attempt three externals: [] server.js 1.33 MiB 0 [emitted] main Entrypoint main = server.js [0] external "fs" 42 bytes {0} [built] [2] external "path" 42 bytes {0} [built] [3] external "util" 42 bytes {0} [built] [4] external "stream" 42 bytes {0} [built] [7] external "buffer" 42 bytes {0} [built] [10] external "events" 42 bytes {0} [built] [20] external "os" 42 bytes {0} [built] [32] external "http" 42 bytes {0} [built] [34] external "crypto" 42 bytes {0} [built] [64] external "assert" 42 bytes {0} [built] [96] external "net" 42 bytes {0} [built] [105] external "url" 42 bytes {0} [built] [115] ./server.prod.js 368 bytes {0} [built] [116] ../ubiety-node-ar/index.js 1.18 KiB {0} [built] [163] ../ubiety-node-ar/node_modules/shelljs/src sync ^\.\/.*$ 960 bytes {0} [built] + 219 hidden modules WARNING in ./node_modules/express/lib/view.js 81:13-25 Critical dependency: the request of a dependency is an expression @ ./node_modules/express/lib/application.js @ ./node_modules/express/lib/express.js @ ./node_modules/express/index.js @ ./server.prod.js Christ, okay that's not right. It bundled everything? The file is 1.4 MB.Running it gives me this error.Error: Cannot find module 'fmerge' Require stack: - /Users/kylewetton/apps/test/server.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1014:15) at Function.Module._load (internal/modules/cjs/loader.js:884:27) at Module.require (internal/modules/cjs/loader.js:1074:19) at require (internal/modules/cjs/helpers.js:72:18) Crap I dunno, what I'm I doing wrong here? I just don't really know how to like, make my little server production ready.

Submitted September 19, 2020 at 11:27AM by overcloseness

No comments:

Post a Comment