packages/webpack5/README.md
All NativeScript applications are bundled using webpack. This package provides the required configuration to build NativeScript apps with flexibility to customize as needed.
npm install @nativescript/webpack --save-dev
All new projects come with a base webpack.config.js that's pre-configured:
const webpack = require('@nativescript/webpack')
module.exports = (env) => {
webpack.init(env)
// Learn how to customize:
// https://docs.nativescript.org/webpack
return webpack.resolveConfig()
}
.env files to manage environment variables--env.reportUseful globally available variables in your app:
| Variable | Description |
|---|---|
__DEV__ | true when building in development mode |
global.isAndroid / __ANDROID__ | true when platform is Android |
global.isIOS / __IOS__ | true when platform is iOS |
global.isVisionOS / __VISIONOS__ | true when platform is visionOS |
global.__APPLE__ | true when platform is iOS or visionOS |
| Method | Description |
|---|---|
webpack.init(env) | Initialize the internal env object (required) |
webpack.chainWebpack(chainFn) | Add chain functions to modify config |
webpack.mergeWebpack(obj) | Merge objects into the final config |
webpack.resolveConfig() | Resolve the final webpack configuration |
| Flag | Description |
|---|---|
--no-hmr | Disable Hot Module Replacement |
--env.production | Enable production mode with minification |
--env.report | Generate bundle analysis report |
--env.verbose | Print verbose logs and internal config |
--env.e2e | Enable E2E mode (enables testID property) |
For complete documentation including configuration examples, visit the webpack configuration guide.