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

Posted

技术标签:

【中文标题】在 svelte.config.js 中找不到 SvelteKit $app【英文标题】:SvelteKit $app cannot be found in svelte.config.js 【发布时间】:2022-01-17 05:42:43 【问题描述】:

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

svelte.config.js 中的错误

错误 [ERR_MODULE_NOT_FOUND]:找不到从 /Users/username/projects/my-app/svelte.config.js 导入的包“$app”

代码看起来像 -

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 文件中访问开发模式?谢谢!

【问题讨论】:

【参考方案1】:

很好的问题。解决方案是这样的,如果你需要你需要的环境,你不能在配置文件中使用$app,你可以使用返回字符串productiondevelopmentprocess.env.NODE_ENV

把你的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;

【讨论】:

以上是关于在 svelte.config.js 中找不到 SvelteKit $app的主要内容,如果未能解决你的问题,请参考以下文章

Scala在通用特征方法中找不到案例类参数

在 discordjs 中找不到 mysql 语法错误

“在‘​​vue’中找不到导出‘createApp’

Django Admin '在 /admin/ 中找不到页面

在 laravel 5 中找不到助手类

在 Query 的上下文中或作为传递的道具中找不到“客户端”