【问题标题】:How to implement a Next.js SVG Loader如何实现 Next.js SVG 加载器
【发布时间】:2020-09-28 05:32:26
【问题描述】:

由于 Zeit 有一个新品牌,因此没有更新:

  • @zeit/with-css
  • @zeit/with-sass

我的代码正在运行,但由于该问题,我什至无法运行我的网站。如何以不同方式加载 SVG?我尝试使用 .babelrc 但没有用。

代码next.config.js

const withSass = require("@zeit/next-sass");
const withCSS = require("@zeit/next-css");

module.exports = withCSS(
  withSass({
    webpack(config, options) {
      config.module.rules.push({
        test: /\.(png|jpg|gif|svg|eot|ttf|woff|woff2)$/,
        use: {
          loader: "url-loader",
          options: {
            limit: 100000,
          },
        },
      });
      return config;
    },
  })
);

【问题讨论】:

    标签: javascript next.js vercel


    【解决方案1】:

    从 Next.js 9.3 开始,您可以使用内置的 CSS 和 SASS 支持。

    更多信息请参见Built-in SASS support

    至于svg - 你不需要加载器。

    假设您有 public/foo.svg 图像,您可以在 CSS 中将其指定为 url(/foo.svg)

    【讨论】:

    • 我已经尝试过了,但仍然无法正常工作。错误是:prnt.sc/swjgm6 我已经通过添加 .babelrc: { "presets": ["next/babel"], "plugins": ["inline-react-svg"] } 修复它
    • @LeonardoGrginčić,看来您正在导入图像(使用 Webpack 解析),在这种情况下,是的,需要加载器。另一种方法是指定图像的路径,因此浏览器会请求并加载它,而无需在构建时编译它。
    猜你喜欢
    • 2020-07-25
    • 1970-01-01
    • 2018-08-08
    • 2021-09-13
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 2016-11-20
    • 1970-01-01
    相关资源
    最近更新 更多