【问题标题】:Is it possible to import a .css file using ES6 modules?是否可以使用 ES6 模块导入 .css 文件?
【发布时间】:2019-10-23 22:20:53
【问题描述】:

我正在尝试使用 ES6 模块导入 .css 文件,但出现错误。甚至可以在不使用捆绑器或转译器(如 webpack)的情况下导入 css 文件吗?

加载模块脚本失败:服务器响应 “text/css”的非 JavaScript MIME 类型

<html>
    <body>
        <div id="app">
            {{ msg }}
        </div>

        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <script type="module">
            import './style.css'

            new Vue({
              el: '#app',
              data: {
                msg: 'Hello World!'
              }
            })
        </script>
    </body>
</html>

【问题讨论】:

标签: javascript html css ecmascript-6 es6-modules


【解决方案1】:

你不能用 ES6 模块做到这一点。您可以将其动态导入 HTML:

<script>
    const url = "./style.css";
    document.head.innerHTML += `<link type="text/css" rel="stylesheet" href=${url}>`;
</script>

【讨论】:

  • 完美!它完成了工作(即使这是一种丑陋的做法)
  • 对我来说,这会重新加载文件中存在的整个 CSS 文件,让它在一段时间内看起来有点难看。 Append 对我来说效果最好。
  • @Liga 那么它是完美的还是丑陋的? :)
猜你喜欢
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
  • 2015-06-02
  • 2017-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多