как переопределить настройки ввода VUE Cli-службы - PullRequest
0 голосов
/ 24 июня 2019

Я пытаюсь интегрировать проект vue, который я создал с помощью vue cli, в существующее приложение .net. Я очень новичок в Vue, поэтому я пытаюсь следовать инструкциям и тому подобное, но у меня остается много вопросов.

При попытке скомпилировать это, я обнаружил, что модуль узла vue cli-service имеет следующее для установки файла main.js, расположенного в его файле base.js.

webpackConfig
  .mode('development')
  .context(api.service.context)
  .entry('app')
    .add('./src/main.js')
    .end()
  .output
    .path(api.resolve(options.outputDir))
    .filename(isLegacyBundle ? '[name]-legacy.js' : '[name].js')
    .publicPath(options.publicPath)

Мне нужно переопределить это, так как мое приложение .net не имеет каталога src, и использование этого приложения vue не будет следовать этой структуре пути. Я не вижу способ сделать это в моем файле vue.config.js. Я ожидал бы, что, если я смогу переопределить это, это было бы место.

Я мог бы перезаписать файл base.js, где он существует, но когда сотрудник запускает установку npm, они получат значение по умолчанию, а не то, что у меня есть. Единственная опция, которую я вижу там, - это проверка во всех модулях узла git, что мы действительно не хотим делать.

1 Ответ

0 голосов
/ 24 июня 2019

Для любого в подобной ситуации я нашел то, что работало для меня.Это не идеальное решение из-за того, что оно заставляет вас встраивать в папку js.В результате файл был помещен в Scripts \ build \ vue \ js.Было бы неплохо иметь возможность просто сбросить его в папку vue, но по крайней мере это работает.Код ниже.

vue.config.js

module.exports = {
  publicPath : "/",
  outputDir: "Scripts/build/vue", //where to put the files

  // Modify Webpack config
  // https://cli.vuejs.org/config/#chainwebpack
  chainWebpack: config => {
    // Not naming bundle 'app'
    config.entryPoints.delete('app'); //removes what base.js added
  },

  // Overriding webpack config
  configureWebpack: {
    // Naming bundle 'bundleName'
    entry: {
      quote: './Scripts/Quote/index.js' //where to get the main vue app js file
    },
    optimization: {
      splitChunks: false
    }
  },
  filenameHashing: false,
  pages: {
    quoteApp: { //by using pages, it allowed me to name the output file quoteApp.js
      entry: './Scripts/Quote/index.js',
      filename: 'index.html'
    }
  }
}
...