конфигурация webpack: удалите ha sh из *. js имен файлов ввода / связки - PullRequest
0 голосов
/ 05 апреля 2020

Я делаю vue. js приложение.

После сборки оно генерирует js файл "background.2a548437. js" вместо "background. js" что я хочу.

Я выполняю настройку цепочки веб-пакетов через файл "vue .config. js".

Для диагностики я читаю результат «$ vue inspect», но я не вижу, какой параметр мне нужно настроить, чтобы удалить ha sh из js файлов.

Я вижу шаблоны типа 'img / [name] . [ha sh: 8]. [ext] ', но для js это' js / [name]. js '

У вас есть какие-либо решения или выводы?


Контекст / Почему:

Он использует веб-пакет «^ 4.0.0» и цепочку веб-пакетов «^ 6.3.1» для настройки через «vue .config. js».

Я делаю плагин chrome, который имеет файл * stati c. json, ссылающийся на "background. js".

Я буду копаться в создании веб-пакета для создания файл manifest. json с правильным файлом "background. [hash]. js", но я подумал, что это будет проще f Я могу найти варианты отключения ha sh в именах файлов


// vue .config. js

const CopyWebpackPlugin = require('copy-webpack-plugin');

module.exports = {
    chainWebpack: config => {
        // add your custom entry point
        config
            .entry('background')
            .add('./src/background.ts');
    },
    configureWebpack: {
        plugins: [
            new CopyWebpackPlugin([
                { from: 'manifest.json', to: 'manifest.json', flatten: true },
            ]),
        ]
    }
}

редактировать: результат проверки $ vue. это слишком долго, поэтому я связываю пастин https://pastebin.com/fbRzgfhY

1 Ответ

0 голосов
/ 06 апреля 2020

Потратив так много времени, пытаясь понять, как работает цепочка веб-пакетов, веб-пакет и его плагины, я обнаружил в документации vue простой код "filenameHashing": https://cli.vuejs.org/config/#indexpath

Вот мое vue .config. js содержимое файла:

// vue.config.js
const CopyWebpackPlugin = require('copy-webpack-plugin');

module.exports = {
    filenameHashing: false, // <=================line that matters
    chainWebpack: config => {
        // add your custom entry point
        config
            .entry('background')
            .add('./src/background.ts');
    },
    configureWebpack: {
        plugins: [
            new CopyWebpackPlugin([
                { from: 'manifest.json', to: 'manifest.json', flatten: true },
            ]),
        ]
    }
}
...