Не удается загрузить файл CSS с упакованной библиотекой Vue (npm) - PullRequest
0 голосов
/ 14 февраля 2019

Я использую vue-cli для создания библиотеки (пакет npm) для работы как на SSR, так и на стороне клиента.Кажется, что все работает частично из-за того, что CSS загружается, только если компонент присутствует на обновляемой странице.Однако, если получить доступ к любым другим страницам, на которых нет компонента, а затем перейти (vue-route) к странице, на которой присутствует компонент, CSS не загружается.

В настоящее время мне нужно импортироватьбиблиотека, а также CSS, который, на мой взгляд, не идеален, как это

import Vue from 'vue';
import myLib from 'myLib';
import 'myLib/dist/myLib-ssr.css';

Vue.use(myLib);

Есть мысли, чтобы это исправить?

1 Ответ

0 голосов
/ 14 февраля 2019

В соответствии с этим потоком

вам просто нужно включить его в ваш файл /main.js следующим образом ...

<script>
  require('@/assets/css/main.css')
</script>

, если это не такзатем работайте npm install style-loader css-loader, а затем в webpack.config.js добавьте

module: {
    rules: [
      {
        test: /\.css$/,
        use: [ 'style-loader', 'css-loader' ]   //  <=  Order is very important
      }
    ]
  }

, а затем снова потребуйте в /main.js файле


Если вы используете внешнюю библиотеку, напримерmaterialize например, затем

import Vue from 'vue'
import App from './App'
import router from './router'
//import the library and its css files
import materialize from 'materialize-css'
import 'materialize-css/dist/css/materialize.min.css'
//then use it as a global plugin
Vue.use(materialize)

new Vue({
  el: '#app',
   //load it in the main.js file
  router, materialize,
  components: { App },
  template: ''
})
...