What are dependencies and devDependencies in package.json and what is the difference between them?
Experience Level: Junior
Tags: npm
Answer
Dependencies are packages that the project uses at runtime. Which means they need to be installed for the program to be able to run. Without them the project won't work.
devDependencies are packages that are used during development of the project. They help a developer to achive some task. As an example, a devDependency can be:
- web server (so that a developer can run the web application locally)
- minifier (so that the build process can strip out unnecessary white-spaces and redundant characters from the JavaScript/CSS files)
- uglifier (so that the build process can make the JavaScript files less readable for the people who might be trying to reverse-engineer your program)
- bundler (so that the build process merges multiple JavaScript files into one)
devDependencies are helpful during the development and build process. They are not needed for the program to run.
Related npm job interview questions
What metadata does the npm file package.json contain?
npm JuniorUsing npm, how do you install project dependencies?
npm JuniorWhat are project dependencies in general?
npm JuniorWhat format does the package.json file use?
npm JuniorWhat is a package.json file?
npm Junior