1

当尝试在 NextJS 项目上运行测试时,我遇到了以下错误:

TypeError: _css.default.global is not a function

__mocks__/styled-jsx/css.js为了模拟 StyledJSX,我添加了一个包含以下代码的文件:

const css = () => {
  return "";
};

export default css;

这会处理包含来自 styled-jsx 的正常 css 贴图的文件,但不适用于我的 App.js 文件,其中包含

// CSS reset
const styles = css.global`
  html,
  body,
  div,
  span,
  object,
  iframe,
  ...

<style jsx global>{`
          @import "${mockHeadImport}";
          ${mockBodyImport === mockHeadImport
            ? ""
            : `@import "${mockBodyImport}";`}

          body {
          ...

任何指针将不胜感激!

4

1 回答 1

0

解决方案

我已将我的导入App.tsximport css from "styled-jsx/css";to更改为import { global } from "styled-jsx/css";,并将我的 css 声明从css.globalto更改为global,并将我的模拟css.js文件修改为:

const css = () => {
  return "";
};

const global = () => {
  return "";
};

export { css as default, global };
于 2021-10-13T17:59:10.437 回答