
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
react-isomorphic-boilerplate
Advanced tools
This boilerplate would help you build a react/redux/react-router isomorphic/universal web app
This boilerplate would help you build a react/redux/react-router isomorphic/universal web app
Execute yarn
to install.
Run 3 processes to start developing your app:
yarn run build:browser:dev:w
: build browser side code and watch file change.yarn run build:server:dev:w
: build server side conde and watch file change.yarn start
: nodemon executing dist/server.js
, and only watches on it's change,
--inspect param is given,
you can debug nodejs server on chrome-devtools.then you can visit localhost:3333
.
All development code are built with source map.
Import stdout.js
and define namespace (example), then turn on debug message depends on platform:
localStorage.debug = '*'
in console.DEBUG=*
, see package.json.scripts.start
.In production build, server side log would stay untouched to easily debug by checking log file, and on browser side, all debug message would be removed by remove-debug-loader.
src/assets
.On the other hand, node server only serves static files in /dist/assets
which means /src/assets/ files not imported to your code base are not accessible from your web server.
file-loader will exports them to static folder with hash key and handle url transform. (so you don't have to worry about cache issue)
global.scss
in your entry component, or define your own styles for specific entry then import them.style.scss
in containers folder only set styles for react component in the folder of same level, and starts with most root class name of that component. (see src/containers/Home/style.scss)extract-text-webpack-plugin would extract style sheet from built code into target dist folder.
loadData
method in your route to prefetch data needed for SEO. (example)AVA as test runner.
Don't use webpack alias in code base.
mock-require mocks dependencies to make test as independent as possible.
As it's name says, it only support require
, so in your test file, remember you have to require the target testing module, import
does not work.
Also if your testing module is defined in es6 way (export default
), remember to append .default
to get the default export. (see server test for example)
Build your code with:
yarn run build:browser:prod
yarn run build:server:prod
and your app is ready to go.
This is less likely to use, but somehow handy when you want to seperate your app into individual entries.
To add a new entry, do following:
webpack.browser.js
./src/routes
, take /src/entries/main.js as reference, define your routes for the new entry here./src/entries
, take /src/entries/main.js for example, simply replace Routes
to the one you defined in previous step./src/reducers
./src/server/entryAndRoute.js
, modify entryRouteInfos
, entryReducerMap
and entryRouteComponentMap
variables.anotherEntry
is added from steps above.Multiple entry gives a huge benefit to bundle size, but you will lose SPA between different entries (which means you can't <Link /> to each other).
Make sure you know why seperating to different entries, visit http://localhost:3333/another-entry
to see it's in life.
basically we can approach by define our multi-lingual words in yaml(s) and get them by key and locale.
MIT
FAQs
This boilerplate would help you build a react/redux/react-router isomorphic/universal web app
The npm package react-isomorphic-boilerplate receives a total of 2 weekly downloads. As such, react-isomorphic-boilerplate popularity was classified as not popular.
We found that react-isomorphic-boilerplate demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.