在 CI build react 应用的时候建议将 querystring 替换成 URLSearchParams。
按照建议,我将所有的querystring全部替换成 URLSearchParams。
替换完后正常使用,但是有些地方会变成 undefined, 本身没有传值的时候,那个字段是被移除的,但是 URLSearchParams 会直接赋值undefined。
所以不能直接使用 URLSearchParams 替换,我们需要对 URLSearchParams 打个补丁才能正常的替换。
export default function urlencode(opts) {
return new URLSearchParams(opts);
}
export function safeUrlencode(opts) {
const params = {};
let k;
for (k of Object.keys(opts)) {
if (opts[k] === undefined) {
continue;
}
params[k] = opts[k];
}
return urlencode(params);
}
如上代码,我们定义了 urlencode 直接使用 URLSearchParams,safeUrlencode 则打上了补丁,我们可以直接用 safeUrlencode 来替换 querystring。
网友评论