Должен ли я выполнить какую-то конкретную настройку, чтобы получить веб-пакет для полифилла path
?Такое чувство, что это должно быть просто, но я просто не могу заставить его работать.Все мои попытки использовать path.parse
на стороне интерфейса заканчиваются каким-то вариантом TypeError: path.parse is not a function
.
См. Ниже мой полный конфиг веб-пакета, это с веб-пакетом 4.20.1 и узлом 8.12.0.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * '' * '' 'по умолчанию' path
* должен быть по умолчанию заполнен *1010*.
.{path: true}
в конфиге, но результат тот же.
Я могу только предположить, что я делаю что-то настолько явно неправильное, что не вижу его.
const CleanWebpackPlugin = require("clean-webpack-plugin");
const CompressionPlugin = require("compression-webpack-plugin");
const HtmlWebPackPlugin = require("html-webpack-plugin");
const path = require("path");
const config = {
devServer: {
hot: true,
port: 4500
},
// Enable sourcemaps for debugging webpack's output.
devtool: "source-map",
entry: {
app: ["babel-polyfill", "./client/index.tsx"]
},
mode: "empty",
output: {
chunkFilename: "[name].[chunkhash].js",
filename: "[name].bundle.[chunkhash].js",
path: path.resolve(__dirname, "../dist"),
publicPath: ""
},
optimization: {
splitChunks: {
chunks: "all"
}
},
plugins: [
new CleanWebpackPlugin([path.resolve(__dirname, "../dist")], {
root: path.resolve(__dirname, ".."),
verbose: true
}),
// generate a single html file bundling everything produced by webpack
new HtmlWebPackPlugin({
// favicon: "./src/favicon.ico",
filename: "./index.html",
template: "./client/index.html"
}),
new CompressionPlugin()
],
resolve: {
// Add '.ts' and '.tsx' as resolvable extensions.
extensions: [".ts", ".tsx", ".js", ".json"]
},
module: {
rules: [
// All files with a '.ts' or '.tsx' extension will be handled by 'awesome-typescript-loader'.
{
loader: "awesome-typescript-loader",
test: /\.tsx?$/
},
// All output '.js', '.jsx', '.ts' or '.tsx' files will have any sourcemaps pre-processed by 'source-map-loader'.
{
enforce: "pre",
// exclude modules that cause warnings
exclude: [
// https://github.com/apollographql/apollo-client/issues/3699
/node_modules[/\\]apollo-client/
],
test: /\.[jt]sx?$/,
use: ["source-map-loader"]
},
// All graphql files. Allows the client to import it into the code.
{
exclude: /node_modules/,
loader: "graphql-tag/loader",
test: /\.(graphql|gql)$/
}
]
}
};
module.exports = config;