javascript - Webpack: `Field 'browser' geçerli bir takma ad yapılandırması içermiyor`. Sonunda eğik çizgi olan alias `@/` kullanılıyor
Uygulamamı webpack ile kurmaya çalışıyordum ve bu sorunun başlığında belirtilen hatayı alıyordum.
Benim konfigurasyonum şuydu:
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
},
};
Çözüm özelliğini şuna değiştirmek zorunda kaldım:
resolve: {
extensions: ['.ts', '.js'],
alias: {
"@": path.resolve(__dirname, "./src"),
}
},
Ve işe yaradı. İkinci argümanı "./src/" olarak çözmeye çalıştım ve o da işe yaradı. Ancak dizenin başındaki noktayı kaldırırsam, yani "/src" veya "/src/" olursa, aynı hatayı alıyorum.
Bu bana biraz şüphe veriyor. Webpack'in, "@/" gibi bir aliasın sonunda / olduğunda bir sorunu var mı? Aldığım hatalara dayanarak, webpack'in '@/'yi bir alias olarak tanımıyor gibi görünüyor ve onu yolun literal bir parçası olarak alıyor.
Ek bir şey, path.resolve metodu nasıl çalışır? Argümanlarıyla ne yapar? Şu anda node.js hakkında hiçbir bilgim yok.