Не получается получить Intellisense из модуля webpack в VS Code - PullRequest
1 голос
/ 14 июля 2020

Я создаю библиотеку 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

...