可以看到我们使用了@zeit/next-css 和@zeit/next-less模块,这两个模块都是next.js中用来支持使用样式文件的 。使用之前请先npm install 安装它们 。在next.config.js文件中,可以自定义webpack配置,可以看到我这里配置了lessLoaderOption 用于动态设置antd主题色,distDir,用于声明打包之后的文件地址,还有一些图片,svg等加载配置 。使用之前都必须安装其对应的wenpack loader 。这样你的项目中才能使用静态图片等文件 。
到此为止已经可以正常使用antd,但是如果你想自定义antd主题色,怎么处理? 根目录新建asserts文件夹,文件夹中建立antd-customs.less 和styles.les文件,分别加入以下css样式
@primary-color: #29CCB1;@layout-header-height: 40px;@border-radius-base: 4px;@import "~antd/dist/antd.less";@import "./antd-custom.less";然后在pages下建立_app.js文件,在文件中加入以下代码
import App from 'next/app'import '../asserts/styles.less'export default Appok,你自定义的antd主题已经可以生效了 。
当你需要在项目中配置跨域,怎么操作呢?next.js支持自定义server 。同样在根目录下,新建server.js, 加入如下代码:
// server.jsconst express = require('express')const next = require('next')const { createProxyMiddleware } = require('http-proxy-middleware')const devProxy = { '/api/v': { target: 'http://192.168.3.18:8092', // 端口自己配置合适的 // pathRewrite: { // '^/api': '/' // }, changeOrigin: true }}const port = parseInt(process.env.PORT, 10) || 80const dev = process.env.NODE_ENV !== 'production'const app = next({ dev})const handle = app.getRequestHandler()app.prepare() .then(() => { const server = express() if (dev && devProxy) { Object.keys(devProxy).forEach(function(context) { server.use(createProxyMiddleware (context, devProxy[context])) }) } server.all('*', (req, res) => { handle(req, res) }) server.listen(port, err => { if (err) { throw err } console.log(`> Ready on http://localhost:${port}`) }) }) .catch(err => { console.log('An error occurred, unable to start the server') console.log(err) })然后 在package.json文件中 配置:
"scripts": { "dev": "node server.js", "build": "next build", "start": "cross-env NODE_ENV=production node server.js" },这样一整套流程下来,你就可以开心的进行业务开发了 。看一下完整的项目结构:

文章插图
其他的next相应知识点,大家可以到官网https://nextjs.frontendx.cn/docs查看具体知识点 。
提示:以上流程在进行过程中如果提示你缺少某模块,直接npm install先安装一下就可以解决 。7.结语有部署或者其他开发方面的问题,可以留下评论交流 。
推荐阅读
- 俄罗斯方块环球旅游记 俄罗斯方块环游记测试服下载
- 使用布隆过滤器用于Python网络爬虫URL去重
- 搞清楚硬盘备份和录像导出区别,高手笔记
- 喝茶必知的八大禁忌,喝茶牢记六大禁忌
- 猫咪可以经常换猫砂吗 猫咪猫砂多久彻底换一次
- 如何恢复微信聊天记录?简单几步,轻松搞定 快速恢复微信聊天记录
- 经典菜谱app使用方法 关于菜谱的app
- 正确使用路由器家庭网络更稳定
- Laravel数据库迁移的那些个小技巧
- 使用 GNU bc 在 Linux Shell 中进行数学运算
