Как исключить файл (например, файл конфигурации) в Vue.js? - PullRequest
0 голосов
/ 28 октября 2018

Я пробовал:

chainWebpack: config => {
    config.merge({
        module: {
            rules: [{
                test: /\.jsx?$/,
                exclude: {
                    exclude: [path.resolve(__dirname, "public/my-config.js")]
                }
            }]
        }
    })
}

Или

config.module.rule('js')
  .exclude({
    exclude: path.resolve(__dirname, "public/my-config.js")
  })

Но это не работает.

Я хочу импортировать public/my-config.js с тегом скрипта в pages/index.html или просто import { config1, config2 } from '../public/my-config'.

Я смог использовать externalsчтобы не включать модуль в веб-пакет, но он не совсем интуитивен с Vue.js.

Я должен иметь my-config.js, доступный на dist/, чтобы его можно было редактировать.

1 Ответ

0 голосов
/ 29 октября 2018

См .:

То, что я написал в моем vue.config.js:

const path = require("path");

module.exports = {
    baseUrl: ".",
    chainWebpack: config => {
        config.plugin('copy').tap((args) => [[
              {
                from: '/path/to/my_project/public',
                to: '/path/to/my_project/dist',
                toType: 'dir',
                ignore: [
                  'index.html',
                  '.DS_Store',
                  'config.data.js'
                ]
              }
          ]]
        );
    }
}

Я использовал $ vue inspect > output.js, затем проверил файл output.js, какие аргументы использовались для config.plugin('copy'), который является экземпляром new CopyWebpackPlugin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...