npm-http-server
raw JSON → 4.3.0 verified Fri May 01 auth: no javascript maintenance
HTTP server that serves files from npm packages by URL pattern /package@version/path. Current stable version 4.3.0. Designed for development or mirroring npm package contents over HTTP. Supports version ranges, tagging, automatic index generation, and optional Bower bundle creation. Pre-ESM, CommonJS-only module with named exports. Last published 2019; no recent updates. Differentiates from nginx-static or serve by resolving npm registry versions dynamically.
Common errors
error Cannot find module 'npm-http-server' ↓
cause Package not installed or wrong import syntax.
fix
Run
npm install npm-http-server and ensure correct import: import { createServer } from 'npm-http-server'. error TypeError: npm_http_server_1.createServer is not a function ↓
cause Default import used instead of named import.
fix
Change
import createServer from 'npm-http-server' to import { createServer } from 'npm-http-server'. error Error: Cannot resolve registryURL ↓
cause Invalid or missing registryURL option.
fix
Provide a valid registry URL, e.g.,
registryURL: 'https://registry.npmjs.org'. error Error: package not found ↓
cause Package name or version does not exist in registry.
fix
Verify the package name and version are correct and published to the configured registry.
Warnings
deprecated Package is in maintenance mode; last release 2019, no updates for security or modern npm registry changes. ↓
fix Consider alternatives like unpm or unpkg for similar functionality.
gotcha No default export; must use named imports `{ createServer }`. ↓
fix Use `import { createServer } from 'npm-http-server'` or `const { createServer } = require('npm-http-server')`.
gotcha Requires a running npm registry; offline or private registries need custom registryURL. ↓
fix Set `registryURL` to your registry's URL in createServer options.
breaking Removed bower support default; bowerBundle option must be explicitly set. ↓
fix Set `bowerBundle: '/bower.zip'` in options if needed.
deprecated Bower support is discouraged; documentation advises against using Bower. ↓
fix Use webpack or browserify instead for asset bundling.
Install
npm install npm-http-server yarn add npm-http-server pnpm add npm-http-server Imports
- createServer wrong
import createServer from 'npm-http-server'correctimport { createServer } from 'npm-http-server' - createRequestHandler wrong
const createRequestHandler = require('npm-http-server').createRequestHandlercorrectimport { createRequestHandler } from 'npm-http-server' - npm-http-server wrong
import NpmHttpServer from 'npm-http-server'correctimport * as NpmHttpServer from 'npm-http-server'
Quickstart
import { createServer } from 'npm-http-server';
const server = createServer({
registryURL: 'https://registry.npmjs.org',
autoIndex: true
});
server.listen(8080, () => {
console.log('npm-http-server running on port 8080');
});
// Then visit: http://localhost:8080/express@4.18.2/package.json