Scripts¶
The library infrastructure-scripts provides the scripts command.
Run it with one of the arguments specified below and the relative path to the file that exports the your app-component,
e.g. src/index.tsx
.
Scripts enable you to build
, start
(offline), deploy
, and attach a domain
to your
infrastructure-components-based project.
Build¶
The build
-script prepares your project for local start or deployment:
scripts build src/index.tsx
If you prefer using the usual npm run build
command for building, simply add the following script to your
package.json
file:
"scripts": {
"build": "scripts build src/index.tsx"
}
The build process adds further scripts to your package.json
.
These let you start your software stack offline, start hot development, and deploy it.
Which scripts are created depends on your app-component and its <Environment />
- and <WebApp />
-components.
Look at the app-components for more details on the created scripts:
Run Offline¶
Run scripts {your_stackName} src/index.tsx
or npm run {your_stackName}
to start your <SinglePageApp />
or
your <WebApp />
within an <IsomorphicApp />
in hot-development-mode.
Wait until the console says that your app is running and open localhost:3000 in your browser.
Changes to your source code become effective immediately in this mode. Just edit your source code and reload your page
in the browser. Note that an <IsomorphicApp />
does not run with a backend (e.g. middlewares) in this mode!
If you want to stop the app, use “ctrl-c” (or whatever command your console-application uses to interrupt a running script).
Start¶
The script npm run start-{your_environment_name}
starts your <IsomorphicApp />
locally (offline).
Open your the url localhost:3000 in a browser and you can see your application in action. Have a look at the console of your development environment for outputs made on server-side (e.g. middlewares)
Note: Changes at your source code require running npm run build
before they become effective in this mode!
Deploy¶
Once you ran the build
script, your package.json
will contain
a script for each environment your app contains:
npm run deploy-{your_environment_name}
From here, the scripts create the whole infrastructure stack on your AWS account. You’ll get back an URL that now serves your app.
Note: This script may take some time to complete!
Domain¶
Have a look at our tutorial on how to register and prepare a domain within AWS.
If you specified an <Environment/>
-component with a ready-to-use-domain
and once you deployed your app, you can initialize the domain with the following command:
npm run domain-{your_environment_name}
Note: You only need to run this command once. But it may take quite some time to complete!