UNPKG

vuepress-plugin-netlify-functions

Version:

The Plugin for VuePress 2, Support Netlify Functions

35 lines (34 loc) 1.53 kB
export function extendsBundlerOptions(bundlerOption, app, options, server) { // 在 netlify-cli 的 function:serve 中, // 默认就是 指向 /.netlify/functions // 而配置的 --functions 仅作为源文件入口 const targetPath = '/.netlify/functions'; if (app.options.bundler.name === '@vuepress/bundler-vite') { const rewriteRE = new RegExp(`^${options.proxyPrefix}`); bundlerOption.viteOptions.server = bundlerOption.viteOptions.server || {}; const viteServer = bundlerOption.viteOptions.server; // 将 netlify functions server 代理到 当前的 vuepress 开发 服务器上 viteServer.proxy = Object.assign(viteServer.proxy || {}, { [options.proxyPrefix]: { target: server, changeOrigin: true, rewrite: (url) => url.replace(rewriteRE, targetPath), }, }); } if (app.options.bundler.name === '@vuepress/bundler-webpack') { const rewritePath = `^${options.proxyPrefix}`; bundlerOption.configureWebpack((config, isServer, isBuild) => { if (isBuild) return; config.devServer = config.devServer || {}; config.devServer.proxy = Object.assign(config.devServer.proxy || {}, { [options.proxyPrefix]: { target: server, changeOrigin: true, pathRewrite: { [rewritePath]: targetPath }, }, }); }); } }