javascript - Webpack: `Pole 'browser' neobsahuje platnú konfiguráciu aliasu`. Použitie aliasu s koncovým lomítkom "@/"
Snažil som sa zostaviť svoju aplikáciu pomocou webpacku a dostával som chybu uvedenú v názve tejto otázky.
Moja konfigurácia bola:
module.exports = {
mode: "development",
entry: './src/index.ts',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
clean: true,
},
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/,
},
{
test: /\.css$/,
use: ["style-loader", "css-loader"],
exclude: /node_modules/,
}
],
},
resolve: {
extensions: ['.ts', '.js'],
alias: {
"@/": path.resolve(__dirname, "/src/"),
}
},
stats: {
errorDetails: true
},
};
Musel som zmeniť vlastnosť resolve na:
resolve: {
extensions: ['.ts', '.js'],
alias: {
"@": path.resolve(__dirname, "./src"),
}
},
A fungovalo to. Tiež som skúsil nastaviť druhý argument tak, aby sa vyriešil na "./src/" a fungovalo to. Ale ak odstránim bodku na začiatku reťazca, takže je to "/src" alebo "/src/", dostanem tú istú chybu.
To mi spôsobuje určitú pochybnosť. Má webpack problém, keď sa na konci aliasu nachádza /, ako napríklad v „@/“? Na základe chýb, ktoré som dostal, sa zdá, že webpack nerozpoznával „@/“ ako alias a bral ho ako doslovnú časť cesty.
Ešte jedna vec, ako funguje metóda path.resolve? Čo robí so svojimi argumentmi? Momentálne nemám žiadne znalosti o node.js.