mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-11 08:33:53 +00:00
feat(nuxt3): expose /app
export paths (#3323)
This commit is contained in:
parent
22c3e33c1e
commit
70542a3af7
@ -10,6 +10,8 @@ export function setupAppBridge (_options: any) {
|
||||
|
||||
// Setup aliases
|
||||
nuxt.options.alias['#app'] = resolve(distDir, 'runtime/index.mjs')
|
||||
nuxt.options.alias['nuxt3/app'] = nuxt.options.alias['#app']
|
||||
nuxt.options.alias['nuxt/app'] = nuxt.options.alias['#app']
|
||||
nuxt.options.alias['#build'] = nuxt.options.buildDir
|
||||
|
||||
// Mock `bundleBuilder.build` to support `nuxi prepare`
|
||||
|
1
packages/nuxt3/app.d.ts
vendored
Normal file
1
packages/nuxt3/app.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
export * from './dist/app'
|
@ -10,7 +10,18 @@
|
||||
"nuxi": "./bin/nuxt.mjs",
|
||||
"nuxt": "./bin/nuxt.mjs"
|
||||
},
|
||||
"exports": {
|
||||
".": "./dist/index.mjs",
|
||||
"./app": "./dist/app/index.mjs",
|
||||
"./package.json": "./package.json"
|
||||
},
|
||||
"imports": {
|
||||
"#app": "./dist/app/index.mjs",
|
||||
"#meta": "./dist/meta/runtime/index.mjs",
|
||||
"#pages": "./dist/pages/runtime/index.mjs"
|
||||
},
|
||||
"files": [
|
||||
"app.d.ts",
|
||||
"bin",
|
||||
"types.d.ts",
|
||||
"dist"
|
||||
|
@ -1,5 +1,12 @@
|
||||
/// <reference path="types/augments.d.ts" />
|
||||
|
||||
export * from './nuxt'
|
||||
export * from './composables'
|
||||
// eslint-disable-next-line import/no-restricted-paths
|
||||
export type { PageMeta } from '../pages/runtime'
|
||||
// eslint-disable-next-line import/no-restricted-paths
|
||||
export type { MetaObject } from '../meta/runtime'
|
||||
export { useMeta } from '#meta'
|
||||
|
||||
export const isVue2 = false
|
||||
export const isVue3 = true
|
||||
|
@ -1,3 +0,0 @@
|
||||
import './augments'
|
||||
|
||||
export * from '../index'
|
@ -13,7 +13,7 @@ interface ImportProtectionOptions {
|
||||
}
|
||||
|
||||
export const vueAppPatterns = (nuxt: Nuxt) => [
|
||||
[/^(nuxt3|nuxt)/, '`nuxt3`/`nuxt` cannot be imported directly. Instead, import runtime Nuxt composables from `#app` or `#imports`.'],
|
||||
[/^(nuxt3|nuxt)$/, '`nuxt3`/`nuxt` cannot be imported directly. Instead, import runtime Nuxt composables from `#app` or `#imports`.'],
|
||||
[/nuxt\.config/, 'Importing directly from a `nuxt.config` file is not allowed. Instead, use runtime config or a module.'],
|
||||
[/(^|node_modules\/)@vue\/composition-api/],
|
||||
...nuxt.options.modules.filter(m => typeof m === 'string').map((m: string) =>
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { createApp } from 'vue'
|
||||
import { createMetaManager } from 'vue-meta'
|
||||
import type { MetaObject } from '../types'
|
||||
import type { MetaObject } from '..'
|
||||
import { defineNuxtPlugin } from '#app'
|
||||
|
||||
export default defineNuxtPlugin((nuxtApp) => {
|
||||
|
1
packages/nuxt3/src/pages/runtime/index.ts
Normal file
1
packages/nuxt3/src/pages/runtime/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from './composables'
|
1
packages/nuxt3/types.d.ts
vendored
1
packages/nuxt3/types.d.ts
vendored
@ -1,3 +1,2 @@
|
||||
import type { } from '@nuxt/nitro'
|
||||
export * from './dist/index'
|
||||
export * from './dist/app/types/index'
|
||||
|
@ -46,8 +46,7 @@ export async function buildServer (ctx: ViteBuildContext) {
|
||||
/\.(es|esm|esm-browser|esm-bundler).js$/,
|
||||
'/__vue-jsx',
|
||||
'#app',
|
||||
/nuxt3\/dist/,
|
||||
/nuxt3\/src/,
|
||||
'nuxt3',
|
||||
/@nuxt\/nitro\/dist/,
|
||||
/@nuxt\/nitro\/src/
|
||||
]
|
||||
|
@ -38,6 +38,7 @@ function serverStandalone (ctx: WebpackConfigContext) {
|
||||
const inline = [
|
||||
'src/',
|
||||
'#app',
|
||||
'nuxt3',
|
||||
'!',
|
||||
'-!',
|
||||
'~',
|
||||
|
Loading…
Reference in New Issue
Block a user