配置
基础配置
你可以在 config/config.js
里面配置 smallfish,在 smallfish 中大部分的配置都是简单的开关。
// config/config.js
import routes from './routes';
export default {
antd: true, // 开启 antd,默认 true,可引入 antd 组件
antdpro: true, // 开启 antd pro,默认 false,可引入 ant-design-pro 组件
styled: true, // 开启 styled,默认 false,可用 styled-component 方式写样式
dva: true, // 开启 dva,默认 false,可使用 dva
i18n: true, // 开启 i18n 多语言功能,默认 true,可使用 smallfish/i18n 套件
history: 'hash', // 路由方式,默认为 hash,可为 browser
routes, // 设置路由,一般建议单独用 routes 文件引入
};
// config/routes.js
export default [
{
path: '',
component: '../layout',
routes: [
{ path: '/', component: 'Home' },
{ path: '/list', component: 'List' },
],
},
];
详细配置参考
Tips: 下面的所有配置都在
config/config.js
中书写
script
添加前置 JS,在 HTML 应用逻辑代码执行之前执行配置的脚本。通常用于一些第三方 SDK 的引入。支持代码和 JS URL。
{
script: [
'//gw.alipayobjects.com/os/rmsportal/MUhciYBNsWHgRcKJaCAH.js',
`
const test = 'app config';
console.log(test);
`,
],
}
style
添加前置样式,在 HTML 最开始添加样式。通常用于一些第三方组件的样式引入。支持 CSS 代码或者 URL。
{
style: [
'//gw.alipayobjects.com/os/rmsportal/yZocPnjKidyvpGcGYKFs.css',
'http://gw.alipayobjects.com/os/rmsportal/yUIfbViByGXvPzPqtINT.css',
`
body {
font-size: 14px;
}
`,
];
}
externals
配置 webpack 的 externals 属性。
// 配置 react 和 react-dom 不打入代码
"externals": {
"react": "window.React",
"react-dom": "window.ReactDOM"
}
环境变量
端口配置
smallfish 默认有端口占用检测,通常情况下你无需关心端口问题,但是在某些需要固定端口的情况下你可以通过设置 PORT
环境变量进行端口指定:
{
"script": {
...
"dev": "PORT=9090 smallfish dev",
...
}
}
关闭 HMR
HMR(模块热替换)允许在运行时更新所有类型的模块,而无需完全刷新,默认是开启的,但是在某些场景下可能需要关闭(如静态文件代理),可通过如下方式关闭 HMR:
{
"script": {
...
"dev:nohmr": "HMR=none smallfish dev",
...
}
}