【问题标题】:Cannot Load CSS file with Vue packaged library (npm)无法使用 Vue 打包库 (npm) 加载 CSS 文件
【发布时间】:2023-03-18 19:45:01
【问题描述】:

我正在使用 vue-cli 构建一个库(npm 包)以同时用于 SSR 和客户端。似乎只有当组件出现在正在刷新的页面中时,CSS才会加载。但是,如果访问没有该组件的任何其他页面,然后导航(vue-route)到​​该组件存在的页面,则不会加载 CSS。

目前,我需要导入 lib 以及我认为不太理想的 CSS

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

Vue.use(myLib);

有什么解决办法吗?

【问题讨论】:

    标签: javascript vue.js npm webpack vue-cli-3


    【解决方案1】:

    据此thread

    你只需要像这样将它包含在你的/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: ''
    })
    

    【讨论】:

      猜你喜欢
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-12
      相关资源
      最近更新 更多