0.0.1 • Published 3 years ago
@lsky/preset-data v0.0.1
@lsky/preset-data
在编译期,在项目中,预设数据。
使用方法
安装
$ yarn add @lsky/preset-data
添加 loader
在
babel-loader
处增加PresetDataLoader
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: [
"babel-loader",
{
loader: "@lsky/preset-data/loader",
},
],
},
添加 plugin
const PresetDataPlugin = require("@lsky/preset-data/plugin")
plugins: [
new PresetDataPlugin([
{
name: "jobs", // 必须参数
// -------
// fetch 请求参数请参照 axios 配置
url: "http://localhost:8030/test", // required
method: "get",
//-------
cb: (data) => {
// axios response data
// must return data
return data.data
},
},
]),
new HtmlWebPackPlugin({
template: path.resolve(__dirname, "../index.ejs"),
filename: path.resolve(__dirname, "../dist/index.html"),
}),
],
PresetDataPlugin
使用说明
interface Option extends axios.AxiosRequestConfig {
name: string;
cb?: (responseData: any) => data:any;
raw?: any;
}
new PresetDataPlugin(options: (Option | Option[]))
Name | Type | Default | Description |
---|---|---|---|
name | string | null | 预设数据名称,用于项目中取值。注意,该字段必填。 |
cb | function | null | 处理数据 |
raw | any | null | 如设置了 raw,将不通过 request 获取数据。注意,该优先级较高。 |
项目中使用预设数据
import presetDataFunc from "@lsky/preset-data"
console.log(presetDataFunc("jobs")) // 参数是 plugin 的 name
console.log(presetDataFunc())
0.0.1
3 years ago