From 6e13e194cc5408cc46d5f6a24e6095765cf0cb8f Mon Sep 17 00:00:00 2001 From: "play.js" Date: Wed, 5 May 2021 18:42:19 +0200 Subject: [PATCH] add files to be able to work with play.js --- index.js | 33 ++++++++++++++++++++++++++++++++ webpack.config.dev.js | 44 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 index.js create mode 100644 webpack.config.dev.js diff --git a/index.js b/index.js new file mode 100644 index 0000000..43213d5 --- /dev/null +++ b/index.js @@ -0,0 +1,33 @@ +const express = require('express'); +const webpack = require('webpack'); +const webpackMiddleware = require('webpack-dev-middleware'); + +// Setup +const app = express(); +const port = process.env['WEB_APP_PORT']; +const config = require('./webpack.config.dev.js'); +const compiler = webpack(config); +const middleware = webpackMiddleware(compiler, { + publicPath: "/", + serverSideRender: true, + watchOptions: { + // Due to iOS devices memory constraints + // disabling file watching is recommended + ignored: /.*/ + } +}); +app.use(middleware); +app.get('/', (req, res) => { + res.sendFile('public/index.html', { root: __dirname }); +}); + +// Launch app +app.listen(port, () => { + console.log( + 'Launching app... http://localhost:' + port + '\n' + ); +}); + +// Register app and middleware. Required for better +// performance when running from play.js +try { pjs.register(app, middleware); } catch (error) { } diff --git a/webpack.config.dev.js b/webpack.config.dev.js new file mode 100644 index 0000000..8788490 --- /dev/null +++ b/webpack.config.dev.js @@ -0,0 +1,44 @@ +'use strict' +const { VueLoaderPlugin } = require('vue-loader'); +module.exports = { + mode: 'development', + entry: [ + './src/main.js' + ], + module: { + rules: [ + { + test: /\.vue$/, + use: { + loader: 'vue-loader', + options: { + presets: [ + '@babel/preset-env' + ] + } + }, + }, + { + test: /\.css$/, + use: [ + 'vue-style-loader', + 'css-loader' + ] + }, + { + test: /\.(png|jpe?g|gif)$/i, + use: [ + { + loader: 'file-loader', + }, + ] + }, + ] + }, + plugins: [ + new VueLoaderPlugin() + ], + resolve: { + extensions: ['.js', '.vue'], + } +} \ No newline at end of file