在 netlify 中部署时未拾取 CSS 样式

标签 css reactjs webpack netlify

我创建了一个 create-react-app 并尝试首次使用 Netlify 部署它(样本是 here )。但是,部署完成后,该站点看起来与本地站点不同。例如,我的网格布局无法正常工作。

我可以看到样式的打包方式与本地打包方式不同。 Netlify 正在创建一些 /static/css/*.chunk.css确实包含我的样式的文件。在本地部署时,样式只需添加到 <head> 中父文档的标记为 <style type="text/css">

我试过在 Netlify 中关闭 Assets 优化。我也试过重命名我的 CSS 类,甚至直接将它包含在 create-react-app 元素的 index.js 文件中。似乎没有什么不同。

这是我的 package.json

{
  "name": "knowledge-repo",
  "version": "0.1.0",
  "private": true,
  "proxy": "http://localhost:3001/",
  "dependencies": {
    "@toast-ui/react-editor": "^1.0.0",
    "array-move": "^2.1.0",
    "mongoose": "^5.5.13",
    "react": "^16.8.6",
    "react-ace": "^6.5.0",
    "react-codemirror": "^1.0.0",
    "react-dom": "^16.8.6",
    "react-scripts": "2.1.8",
    "react-sortable-hoc": "^1.9.1",
    "semantic-ui": "^2.4.2",
    "semantic-ui-react": "^0.86.0"
  },
  "scripts": {
    "start": "run-p start:**",
    "start:app": "react-scripts start",
    "start:lambda": "netlify-lambda serve src/lambda",
    "build": "run-p build:**",
    "build:app": "react-scripts build",
    "build:lambda": "netlify-lambda build src/lambda",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ],
  "devDependencies": {
    "dotenv": "^8.0.0",
    "http-proxy-middleware": "^0.19.1",
    "netlify-lambda": "^1.4.13",
    "npm-run-all": "^4.1.5"
  }
}

这是使用 *.css 的组件

import React from 'react';
import KnowledgeSubjectBrowser from './KnowledgeSubjectBrowser';
import KnowledgeRepoHeader from './KnowledgeRepoHeader';
import KnowledgeRepoSidebar from './KnowledgeRepoSidebar';
import styles from './KnowledgeRepo.css'

class KnowledgeRepo extends React.Component {

    render(){
        return (
      <div className={styles.krcontainer}>
        <header>
          <KnowledgeRepoHeader />
        </header>
        <nav>
          <KnowledgeRepoSidebar />
        </nav>
        <main>
          <KnowledgeSubjectBrowser />
        </main>
      </div>
        )
    }
}

export default KnowledgeRepo;

css文件如下:

:local(.krcontainer) {
  display: grid;

  grid-template-areas:
    "header header header"
    "nav content side";

  grid-template-columns: 100px 1fr 200px;
  grid-template-rows: auto 1fr;
  grid-gap: 0px;

  height: 100vh;

}

header {
  grid-area: header;
  background: black;
}

nav {
  padding: 30px 5px 20px 5px;
  grid-area: nav;
  background: black;
}

main {
  grid-area: content;
}

最佳答案

我想通了这个问题。我的 css 文件(拼写错误)的末尾有一个分号。 Netlify 将所有静态文件捆绑在一起,因此捆绑的 css 工件未正确加载。

关于在 netlify 中部署时未拾取 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56647377/

相关文章:

html - CSS 中的输入设计验证问题

css - 无法在我的 wamp 本地主机中加载 @font_face?

javascript - 添加/删除输入字段

javascript - 重新绘制散点图,为特定值设置颜色?

reactjs - 如何在 IIS 上部署 React?

reactjs - CRA : Extract particularly big modules into separate chunks?

javascript - Superfish IE7 z-index 错误与 Nivo slider 或 wordpress 中的 Photospace

html - Bootstrap 轮播中的图像未填充轮播区域

javascript - 我怎样才能在 vue-router 上返回/路由返回?

javascript - Vuejs Webpack压缩插件不压缩