Я создаю библиотеку javascript, используя NPM и webpack, но не могу заставить intellisense работать с моим экспортированным модулем. Внизу этого поста я добавил ссылку на zip-архив небольшого демонстрационного проекта, который описывает проблему. В частности, у меня есть файл SimulatedClient. js, который импортирует мой модуль из папки dist. Если вы попытаетесь использовать модуль, он будет работать так, как задумано, и имеет все необходимые данные, но вы не получите никакого intellisense / автозаполнения в VScode, что делает разработку кошмаром. Как я могу заставить vscode выдавать корректное автозаполнение для вывода моего модуля? Спасибо за вашу помощь, и вот моя текущая установка веб-пакета, которая также включена в прикрепленный zip:
module.exports = {
target: "web",
entry: { vueStyles: "./src/js/vueStyles.js" },
mode: "development",
devtool: "source-map",
output: {
filename: "[name].js",
path: path.join(__dirname, "dist"),
library: "vueStyles",
libraryTarget: "umd",
globalObject: "this",
umdNamedDefine: true,
},
plugins: [
new MiniCssExtractPlugin({
filename: "[name].css",
loader: "css-loader",
options: {
importLoaders: 1,
},
}),
new CleanWebpackPlugin(),
new ProgressBarPlugin({
format: " vueStyles webpack [:bar] " + chalk.green.bold(":percent") + " (:elapsed seconds): :msg",
clear: false,
}),
],
module: {
rules: [
{
test: /\.(sa|s?c)ss$/i,
use: [MiniCssExtractPlugin.loader, "css-loader", "postcss-loader", "sass-loader"],
},
{
test: /\.m?js$/i,
exclude: /(node_modules)/,
use: {
loader: "babel-loader",
options: {
presets: ["@babel/preset-env"],
plugins: [
"@babel/plugin-transform-runtime",
"@babel/plugin-proposal-nullish-coalescing-operator",
"@babel/plugin-proposal-optional-chaining",
],
},
},
},
{
test: /\.(svg|ttf|eot|woff2?)$/,
loader: "url-loader?name=[name].[ext]",
},
],
},
};
Test Solution Zip