vulnerability reconoce react interno externo development dev como comando webpack webpack-dev-server

reconoce - webpack-dev-server vulnerability



Obteniendo "Error:` output.path` necesita ser una ruta absoluta o `/` " (3)

Soy nuevo en el desarrollo de JS, en un intento de realizar cambios de carga mediante el uso de webpack-dev-server, sigo por encima de la excepción. La pila exacta es:

Error: `output.path` needs to be an absolute path or `/`. at Object.Shared.share.setFs (/Users/mybox/work/day1/ex6/node_modules/webpack-dev-middleware/lib/Shared.js:88:11) at Shared (/Users/mybox/work/day1/ex6/node_modules/webpack-dev-middleware/lib/Shared.js:214:8) at module.exports (/Users/mybox/work/day1/ex6/node_modules/webpack-dev-middleware/middleware.js:22:15) at new Server (/Users/mybox/work/day1/ex6/node_modules/webpack-dev-server/lib/Server.js:56:20) at startDevServer (/Users/mybox/work/day1/ex6/node_modules/webpack-dev-server/bin/webpack-dev-server.js:379:12) at processOptions (/Users/mybox/work/day1/ex6/node_modules/webpack-dev-server/bin/webpack-dev-server.js:317:3) at Object.<anonymous> (/Users/mybox/work/day1/ex6/node_modules/webpack-dev-server/bin/webpack-dev-server.js:441:1) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32)

Aquí están los archivos de configuración del paquete web que ya he probado:

module.exports = { entry: "./client/app.jsx", output: { path: "dist/js", filename: "bundle.js", publicPath: "http://127.0.0.1:2992/js" }, module: { loaders: [ { test: /.jsx?$/, loader: "babel-loader", include: /client/ } ] } };

Y:

module.exports = { entry: "./client/app.jsx", output: { path: "/Users/mybox/work/day1/ex6/dist/js", filename: "bundle.js", publicPath: "http://127.0.0.1:2992/js" }, module: { loaders: [ { test: /.jsx?$/, loader: "babel-loader", include: /client/, query: { presets:[''react''] } } ] } };

A continuación se muestra mi archivo package.json

{ "name": "ex6", "version": "1.0.0", "main": "index.js", "scripts": { "server": "node index.js", "hot": "webpack-dev-server --inline --hot --port 2992 --progress --colors", "dev": "webpack-dev-server --inline --dev --port 2992 --progress --colors" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "babel-preset-es2015": "^6.22.0", "hapi": "^16.1.0", "inert": "^4.1.0" }, "devDependencies": { "babel": "^6.5.2", "babel-cli": "^6.22.2", "babel-core": "^6.22.1", "babel-loader": "^6.2.10", "babel-preset-react": "^6.22.0", "builder": "^3.2.1", "webpack": "^2.2.1", "webpack-dev-server": "^2.3.0" }, "description": "" }


Como dice el mensaje de error, debe utilizar la ruta absoluta.

Para obtener una ruta absoluta para el directorio actual, puede usar __dirname para obtener el directorio actual y luego agregar dist/js . Entonces sería algo así como,

output: { path: __dirname + "/dist/js", // or path: path.join(__dirname, "dist/js"), filename: "bundle.js" }

Ambos funcionarán bien. Puedes leer acerca de la configuración del webpack here

Edición : Para usar path: path.join(__dirname, "dist/js") necesitará un módulo de path integrado en el nodo.

Citando de los documentos:

Módulo de ruta : proporciona utilidades para trabajar con rutas de archivos y directorios. Si se usa con el prefijo __dirname global, se evitarán problemas de ruta de archivo entre sistemas operativos y se permitirá que las rutas relativas funcionen como se espera.

Puede webpack.config.js en la parte superior de su webpack.config.js como

var path = require(''path''); ..... .... .. output: { path: path.join(__dirname, "dist/js"), filename: "bundle.js" } // rest of the configuration

Aparte de los dos métodos anteriores, también puede usar path.resolve como se menciona here .

path: path.resolve(__dirname, "dist/js")

Espero eso ayude :)


Puedes usarlo como código siguiente para obtener la ruta absoluta.

output: { path: require(''path'').resolve("./dist/js"), filename: ''bundle.js'', publicPath: ''http://127.0.0.1:2992/js'' }


debe incluir esto en la parte superior del archivo webpack.config.js var path = require(''path'') y luego en su ruta haga lo siguiente: path: path.join(__dirname, "dist/js")