首页  >  问答  >  正文

如何配置 Vite 访问公共文件夹之外的文件?

我有这个文件结构:

有人可以帮我知道如何通过配置 Vite 访问 pdf.js 吗?

我尝试过:

在vite.config.js中,导出默认的defineConfig:

plugins: [
        laravel({
            input: [
                'node_modules/pdfjs-dist/build/pdf.js'
            ],
            refresh: true,
        }),
    ],

我在我的 app.blade.php 中使用了 @vite:

@vite([
    'node_modules/pdfjs-dist/build/pdf.js'
    ])

我得到了这个错误: 无法在 Vite 清单中找到文件:node_modules/pdfjs-dist/build/pdf.js。

谁能给我解释一下吗?

P粉132730839P粉132730839223 天前491

全部回复(1)我来回复

  • P粉321676640

    P粉3216766402024-04-03 09:31:04

    从你的问题中我看出你似乎正在使用 Laravel(很好,因为我也很熟悉)。

    我建议您查看 Laravel 文档,特别是新安装 Laravel 时开箱即用的 vite 配置。通过遵循他们指定的目录约定,您将避免尝试打破他们的模式而带来无尽的麻烦。查看 Laravel 文档的以下部分将是一个很好的起点: https://laravel.com/docs/10.x/vite#main-内容

    在理想的世界中,您将遵循 Laravel 假设的相同约定...即您的项目有一个 resources/js 文件夹,这是您通常存储项目的 javascript 的位置(例如 app例如.js)。

    只要您在应用程序中需要的地方导入 javascript 文件,最好的解决方案可能是使用 resources/js/app.js 作为您的 Vite“输入”,并在 Vite Blade 指令中引用它好吧(如 resources/js/app.js)。然后,Vite 将在您的应用程序需要时导入该依赖项。

    # Your vite.config.js excerpt would look like:
    
    plugins: [
        laravel({
            input: [
                'resources/js/app.js'
            ],
            refresh: true,
        }),
    ],
    
    # Your @vite blade directive would look like:
    
    @vite(['resources/js/app.js'])
    
    # Your import call (wherever you're using this dependency) might look like:
    
    import 'pdfjs-dist/build/pdf.js';

    希望有帮助!

    回复
    0
  • 取消回复