Comprehensive Guide to npm run script API with Examples for Web Development
The npm run-script
command is used to easily run scripts defined in package.json
in a Node.js project. This tool is indispensable for many developers because it allows you to automate repetitive tasks ranging from running tests to building your application. In this comprehensive guide, we’ll explore various npm run-script
APIs, complete with examples, to help you get the most out of your development workflow.
Basic Usage
To run a script defined in your package.json
file, use:
npm run [script-name]
Example:
{ "scripts": { "start": "node app.js", "test": "jest" } }
Run the start script:
npm run start
Pre and Post Hooks
Pre and post hooks allow you to automate tasks before and after the main script.
{ "scripts": { "prestart": "echo 'This runs before start'", "start": "node app.js", "poststart": "echo 'This runs after start'" } }
Run the start script with hooks:
npm run start
Passing Arguments
You can pass arguments to npm scripts:
npm run [script-name] -- [args]
Example:
{ "scripts": { "echo": "echo" } }
Passing arguments:
npm run echo -- "Hello, World!"
Environment Variables
You can set environment variables within your scripts:
{ "scripts": { "start": "NODE_ENV=production node app.js" } }
Concurrent Scripts
You can run multiple scripts concurrently using tools like concurrently
:
npm install concurrently --save-dev
{ "scripts": { "start": "concurrently \"npm run server\" \"npm run client\"", "server": "node server.js", "client": "npm run serve --prefix client" } }
App Example
Consider an example application where you want to perform various tasks such as linting, testing, and building your project:
{ "name": "example-app", "version": "1.0.0", "scripts": { "lint": "eslint .", "test": "jest", "build": "webpack", "prebuild": "npm run lint && npm run test", "start": "node server.js" } }
In this example, running npm run build
will first lint and test the code before running the build process, ensuring quality checks are automated.
By leveraging the power of npm run-script
, you can significantly streamline and enhance your development workflow, making your projects more maintainable and efficient.
Hash: 1414c2d93afe61f056cf9d7ac1165801f0a6f07c479caf40c223149c7be4ff4e