我已经创建了一个React-app,并尝试第一次使用Netlify部署它(示例是here)。然而,当部署完成时,网站看起来与本地不同。例如,我的网格布局无法正常工作。
我可以看到这些样式的打包方式与本地不同。Netlify正在创建一些/static/css/*.chunk.css
文件,其中确实包含我的样式。在本地部署时,这些样式只是作为<style type="text/css">
添加到父文档的<head>
标记中
我试过在Netlify中关闭资产优化。我也试过重命名我的CSS类,甚至直接将其包含在Netlify-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;
}
型
3条答案
按热度按时间bvjveswy1#
我找到了问题所在,在我的css文件的最后有一个分号(错字)。Netlify将所有静态文件捆绑在一起,因此捆绑的css工件无法正确加载。
emeijp432#
我遇到了同样的问题。对我来说,这是因为我有一个空文件导入。
在我的
main.css
文件中,我有以下导入:字符串
然而,我删除了
reset.css
样式表文件(同时将其保留在导入中),以支持不同的策略。所有内容仍然构建,但没有正确捆绑,并且Netlify在部署的站点上没有正确处理一些样式。一旦我从我的
main.css
文件中删除它(因为没有实际的文件),一切都再次工作vhmi4jdf3#
我遇到了同样的问题。对我有效的是删除package.json中的PurgeCSS postbuild脚本
字符串