You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This might just be a question and not really an issue.
I am new to InertiaJS and Vue.
I've configured adonis webpack and ssr webpack as described on docs.
Both webpacks, ssr and standard adonis one watch for changes and compile as necessary with following commands: node ace ssr:watch and node ace serve --watch respectively.
Now, changing .edge files the hot reload works fine and is displayed correctly, however the ssr one (when modifying Vue files) is not although webpack compiles fine.
For changes to take effect I need to restart adonisjs app and re-start it with the above command, and I feel like I am doing something wrong since watch function should do that out of the box?
The only thing that is not as default is ssr build which is set to /build/inertia/ssr instead.
Is this how it supposed to be? Restart the server on vue changes?
Thanks in advance!
Here are my webpack configs:
webpack.ssr.config:
const{ join }=require('path')constEncore=require('@symfony/webpack-encore')/*|--------------------------------------------------------------------------| Encore runtime environment|--------------------------------------------------------------------------*/if(!Encore.isRuntimeEnvironmentConfigured()){Encore.configureRuntimeEnvironment(process.env.NODE_ENV||'dev')}/*|--------------------------------------------------------------------------| Output path|--------------------------------------------------------------------------|| The output path for writing the compiled files. It should always| be inside the public directory, so that AdonisJS can serve it.|*/Encore.setOutputPath('./build/inertia/ssr')/*|--------------------------------------------------------------------------| Public URI|--------------------------------------------------------------------------|| The public URI to access the static files. It should always be| relative from the "public" directory.|*/Encore.setPublicPath('/ssr')/*|--------------------------------------------------------------------------| Entrypoints|--------------------------------------------------------------------------|| Entrypoints are script files that boots your frontend application. Ideally| a single entrypoint is used by majority of applications. However, feel| free to add more (if required).|| Also, make sure to read the docs on "Assets bundler" to learn more about| entrypoints.|*/Encore.addEntry('ssr','./resources/js/ssr.js')/*|--------------------------------------------------------------------------| Isolated entrypoints|--------------------------------------------------------------------------|| Treat each entry point and its dependencies as its own isolated module.|*/Encore.disableSingleRuntimeChunk()/*|--------------------------------------------------------------------------| Cleanup output folder|--------------------------------------------------------------------------|| It is always nice to cleanup the build output before creating a build. It| will ensure that all unused files from the previous build are removed.|*/Encore.cleanupOutputBeforeBuild()/*|--------------------------------------------------------------------------| Assets versioning|--------------------------------------------------------------------------|| Enable assets versioning to leverage lifetime browser and CDN cache|*/Encore.enableVersioning(Encore.isProduction())/*|--------------------------------------------------------------------------| Configure dev server|--------------------------------------------------------------------------|| Here we configure the dev server to enable live reloading for edge templates.| Remember edge templates are not processed by Webpack and hence we need| to watch them explicitly and livereload the browser.|*/Encore.configureDevServerOptions((options)=>{/** * Normalize "options.static" property to an array */if(!options.static){options.static=[]}elseif(!Array.isArray(options.static)){options.static=[options.static]}/** * Enable live reload and add views directory */options.liveReload=trueoptions.static.push({directory: join(__dirname,'./resources/js/Pages'),watch: true,})})/*|--------------------------------------------------------------------------| CSS precompilers support|--------------------------------------------------------------------------|| Uncomment one of the following lines of code to enable support for your| favorite CSS precompiler|*/// Encore.enableSassLoader()// Encore.enableLessLoader()// Encore.enableStylusLoader()/*|--------------------------------------------------------------------------| CSS loaders|--------------------------------------------------------------------------|| Uncomment one of the following line of code to enable support for| PostCSS or CSS.|*/// Encore.enablePostCssLoader()// Encore.configureCssLoader(() => {})/*|--------------------------------------------------------------------------| Enable Vue loader|--------------------------------------------------------------------------|| Uncomment the following lines of code to enable support for vue. Also make| sure to install the required dependencies.|*/Encore.enableVueLoader(()=>{},{version: 3,runtimeCompilerBuild: false,useJsx: false,})/*|--------------------------------------------------------------------------| Configure logging|--------------------------------------------------------------------------|| To keep the terminal clean from unnecessary info statements , we only| log warnings and errors. If you want all the logs, you can change| the level to "info".|*/constconfig=Encore.getWebpackConfig()config.infrastructureLogging={level: 'warn',}config.stats='errors-warnings'/*|--------------------------------------------------------------------------| SSR Config|--------------------------------------------------------------------------|*/config.externals=[require('webpack-node-externals')()]config.externalsPresets={node: true}config.output={libraryTarget: 'commonjs2',filename: 'ssr.js',path: join(__dirname,'./build/inertia/ssr'),}config.experiments={outputModule: true}/*|--------------------------------------------------------------------------| Export config|--------------------------------------------------------------------------|| Export config for webpack to do its job|*/module.exports=config
webpack.config:
const{ join }=require('path')constEncore=require('@symfony/webpack-encore')constTerserPlugin=require('terser-webpack-plugin')/*|--------------------------------------------------------------------------| Encore runtime environment|--------------------------------------------------------------------------*/if(!Encore.isRuntimeEnvironmentConfigured()){Encore.configureRuntimeEnvironment(process.env.NODE_ENV||'dev')}/*|--------------------------------------------------------------------------| Output path|--------------------------------------------------------------------------|| The output path for writing the compiled files. It should always| be inside the public directory, so that AdonisJS can serve it.|*/Encore.setOutputPath('./public/assets')/*|--------------------------------------------------------------------------| Public URI|--------------------------------------------------------------------------|| The public URI to access the static files. It should always be| relative from the "public" directory.|*/Encore.setPublicPath('/assets')/*|--------------------------------------------------------------------------| Entrypoints|--------------------------------------------------------------------------|| Entrypoints are script files that boots your frontend application. Ideally| a single entrypoint is used by majority of applications. However, feel| free to add more (if required).|| Also, make sure to read the docs on "Assets bundler" to learn more about| entrypoints.|*/Encore.addEntry('app','./resources/js/app.js')Encore.addEntry('style','./resources/src/style.css')/*|--------------------------------------------------------------------------| Copy assets|--------------------------------------------------------------------------|| Since the edge templates are not part of the Webpack compile lifecycle, any| images referenced by it will not be processed by Webpack automatically. Hence| we must copy them manually.|*/// Encore.copyFiles({// from: './resources/images',// to: 'images/[path][name].[hash:8].[ext]',// })/*|--------------------------------------------------------------------------| Split shared code|--------------------------------------------------------------------------|| Instead of bundling duplicate code in all the bundles, generate a separate| bundle for the shared code.|| https://symfony.com/doc/current/frontend/encore/split-chunks.html| https://webpack.js.org/plugins/split-chunks-plugin/|*/Encore.splitEntryChunks()/*|--------------------------------------------------------------------------| Isolated entrypoints|--------------------------------------------------------------------------|| Treat each entry point and its dependencies as its own isolated module.|*/Encore.disableSingleRuntimeChunk()/*|--------------------------------------------------------------------------| Cleanup output folder|--------------------------------------------------------------------------|| It is always nice to cleanup the build output before creating a build. It| will ensure that all unused files from the previous build are removed.|*/Encore.cleanupOutputBeforeBuild()/*|--------------------------------------------------------------------------| Source maps|--------------------------------------------------------------------------|| Enable source maps in production|*/Encore.enableSourceMaps(!Encore.isProduction())/*|--------------------------------------------------------------------------| Assets versioning|--------------------------------------------------------------------------|| Enable assets versioning to leverage lifetime browser and CDN cache|*/Encore.enableVersioning(Encore.isProduction())/*|--------------------------------------------------------------------------| Configure dev server|--------------------------------------------------------------------------|| Here we configure the dev server to enable live reloading for edge templates.| Remember edge templates are not processed by Webpack and hence we need| to watch them explicitly and livereload the browser.|*/Encore.configureDevServerOptions((options)=>{/** * Normalize "options.static" property to an array */if(!options.static){options.static=[]}elseif(!Array.isArray(options.static)){options.static=[options.static]}/** * Enable live reload and add views directory */options.liveReload=trueoptions.static.push({directory: join(__dirname,'./resources/views'),watch: true,})})/*|--------------------------------------------------------------------------| CSS precompilers support|--------------------------------------------------------------------------|| Uncomment one of the following lines of code to enable support for your| favorite CSS precompiler|*/// Encore.enableSassLoader()// Encore.enableLessLoader()// Encore.enableStylusLoader()/*|--------------------------------------------------------------------------| CSS loaders|--------------------------------------------------------------------------|| Uncomment one of the following line of code to enable support for| PostCSS or CSS.|*/Encore.enablePostCssLoader((options)=>{options.postcssOptions={// the directory where the postcss.config.js file is storedconfig: './postcss.config.js',}})// .configureCssLoader(() => {})/*|--------------------------------------------------------------------------| Terser Plugin|--------------------------------------------------------------------------|| For minifying and mangling JS code|*/if(Encore.isProduction()){Encore.addPlugin(newTerserPlugin({terserOptions: {format: {comments: false,},},extractComments: false,}))}/*|--------------------------------------------------------------------------| Webpack JQuery|--------------------------------------------------------------------------|| Automatically provides jquery globally|*/Encore.autoProvidejQuery()/*|--------------------------------------------------------------------------| Enable Vue loader|--------------------------------------------------------------------------|| Uncomment the following lines of code to enable support for vue. Also make| sure to install the required dependencies.|*/// Encore.enableVueLoader(() => {}, {// version: 3,// runtimeCompilerBuild: false,// useJsx: false// })/*|--------------------------------------------------------------------------| Configure logging|--------------------------------------------------------------------------|| To keep the terminal clean from unnecessary info statements , we only| log warnings and errors. If you want all the logs, you can change| the level to "info".|*/constconfig=Encore.getWebpackConfig()config.infrastructureLogging={level: 'warn',}config.stats='errors-warnings'/*|--------------------------------------------------------------------------| Export config|--------------------------------------------------------------------------|| Export config for webpack to do its job|*/module.exports=config
The text was updated successfully, but these errors were encountered:
Hi guys 👋
This might just be a question and not really an issue.
I am new to InertiaJS and Vue.
I've configured adonis webpack and ssr webpack as described on docs.
Both webpacks, ssr and standard adonis one watch for changes and compile as necessary with following commands:
node ace ssr:watch
andnode ace serve --watch
respectively.Now, changing .edge files the hot reload works fine and is displayed correctly, however the ssr one (when modifying Vue files) is not although webpack compiles fine.
For changes to take effect I need to restart adonisjs app and re-start it with the above command, and I feel like I am doing something wrong since watch function should do that out of the box?
The only thing that is not as default is ssr build which is set to /build/inertia/ssr instead.
Is this how it supposed to be? Restart the server on vue changes?
Thanks in advance!
Here are my webpack configs:
webpack.ssr.config:
webpack.config:
The text was updated successfully, but these errors were encountered: