Nuxt/packages/nitro/src/index.ts

39 lines
842 B
TypeScript
Raw Normal View History

2020-11-05 11:28:39 +00:00
import { build, compileHTMLTemplate } from './build'
import { getBaseConfig } from './config'
export default function () {
const { nuxt } = this
if (nuxt.options.dev) {
return
}
// Config
const baseConfig = getBaseConfig(nuxt.options)
if (baseConfig.minify !== false) {
nuxt.options.build._minifyServer = true
}
nuxt.options.build.standalone = true
nuxt.hook('generate:cache:ignore', (ignore) => {
ignore.push(baseConfig.slsDir)
})
nuxt.hook('generate:done', () => buildSLS(baseConfig))
}
async function buildSLS (baseConfig) {
// Compile html template
await compileHTMLTemplate(baseConfig)
// Bundle for each target
for (const target of baseConfig.targets) {
if (baseConfig.target && target.target !== baseConfig.target) {
continue
}
await build(baseConfig, target)
}
}