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