Tengo una carpeta de proyecto estructurada así:
project-name/ data/ data.csv dist/ index.js src/ index.jsY quiero un directorio remoto como este:
project-name/ data/ data.csv dist/ index.js > `doSomething("../data/data.csv")`¿Cómo hago que esto funcione tanto en webpack-dev-server como en la ruta de producción? Si uso el complemento copywebpack, los datos van dentro de dist/, que no quiero. Pero si uso un directorio relativo sin copiar los datos, la compilación falla.
En realidad, debe usar Webpack csv-loader en su archivo de configuración de Webpack como se muestra a continuación:
module: { rules: [ { test: /\.csv$/, loader: 'csv-loader', options: { dynamicTyping: true, header: true, skipEmptyLines: true, }, }, ], },Y luego utilícelo dentro de su código como se muestra a continuación:
import csvPath from './project-name/data/foo.csv'¿Puedes usar un alias?
webpack.config.js:
const path = require("path"); module.exports = { ... resolve: { alias: { Data: path.resolve(__dirname, "./project-name/data/"), }, }, }src/index.js:
import data from "Data/data.csv"¿Has probado a excluirlo en la prueba? Algo como esto:
{ entry: "./src/index.js", module: { rules: [ { test: /\.js$/, use: ["babel-loader or whatever loader you use"], }, { test: /\.csv$/, exclude: ["./data/"], }, ], }, output: { filename: "index.js", path: path.resolve(__dirname, "dist"), }, },Hay una pregunta similar sobre cómo no agrupar archivos en el paquete web aquí