在 svelte.config.js 中找不到 SvelteKit $app

SvelteKit $app cannot be found in svelte.config.js

我根据文档安装了新的 SvelteKit,如果我尝试在 svelte 配置中使用 $app,则会收到此错误。

Error in svelte.config.js

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '$app' imported from /Users/username/projects/my-app/svelte.config.js

代码看起来像 -

import preprocess from 'svelte-preprocess';
import adapter from '@sveltejs/adapter-static';
import { dev } from '$app/env';

/** @type {import('@sveltejs/kit').Config} */
const config = {
    // Consult https://github.com/sveltejs/svelte-preprocess
    // for more information about preprocessors
    preprocess: preprocess(),

    kit: {
        adapter: adapter(),
        paths: {
            base: dev ? '' : '/CapitalBikesProject'
        },

        // hydrate the <div id="svelte"> element in src/app.html
        target: '#svelte'
    }
};

export default config;

如何在配置 javascript 文件中访问开发模式?谢谢!

好问题。解决方案是这样的,如果你需要你需要的环境,你不能在配置文件中使用 $app,你可以使用 process.env.NODE_ENV which returns strings production and development

将你的svelte.config.js改成这个。

import preprocess from 'svelte-preprocess';
import adapter from '@sveltejs/adapter-static';

/** @type {import('@sveltejs/kit').Config} */
const config = {
    // Consult https://github.com/sveltejs/svelte-preprocess
    // for more information about preprocessors
    preprocess: preprocess(),

    kit: {
        adapter: adapter(),
        paths: {
            base: process.env.NODE_ENV === 'development' ? '' : '/CapitalBikesProject'
        },

        // hydrate the <div id="svelte"> element in src/app.html
        target: '#svelte'
    }
};

export default config;