Как скопировать ресурсы с помощью команды vue -cli-service build? - PullRequest
0 голосов
/ 19 февраля 2020

Ниже приведено содержимое каталога моего приложения src. Как скопировать файлы, расположенные в папке src/assets/others, в папку dist/others с помощью команды vue-cli-service build? Btw. Мой проект был создан с помощью команды vue create.

    src/
    ├── App.vue
    ├── assets
    |    ├── others
    |        └── metadata.xlsx
    dist/
    ├── css
    │   ├── app.4d032e62.css
    │   └── chunk-vendors.f6f30965.css
    ├── favicon.ico
    ├── img
    │   └── upload.a0fd70ac.svg
    ├── index.html
    └── js
        ├── app.11cd5b00.js
        ├── app.11cd5b00.js.map
        ├── chunk-vendors.58c6929b.js
        └── chunk-vendors.58c6929b.js.map

1 Ответ

1 голос
/ 20 февраля 2020

В проекте Vue CLI каталог src/assets обычно содержит файлы, которые обрабатываются Webpack (для минификации и т. Д. c.), А stati c assets хранятся в каталог public. Таким образом, вы можете переместить src/assets/others в public/others, где они будут автоматически скопированы в dist во время сборки.

С другой стороны, если вы предпочитаете каталог src/assets также по какой-то причине могут содержаться данные c, вы можете настроить WebpackCopyPlugin (уже включенный в Vue CLI) для копирования src/assets/others в dist/others во время сборки:

// vue.config.js
const path = require('path')

module.exports = {
  chainWebpack: config => {
    config.plugin('copy')
          .tap(args => {
            args[0].push({
              from: path.resolve(__dirname, 'src/assets/others'),
              to: path.resolve(__dirname, 'dist/others'),
              toType: 'dir',
              ignore: ['.DS_Store']
            })
            return args
          })
  }
}
...