【问题标题】:import dependency from child_folder/node_modules doesn't work从 child_folder/node_modules 导入依赖项不起作用
【发布时间】:2022-01-28 23:47:27
【问题描述】:

默认情况下,node_modules 文件夹位于我的 Laravel 项目的根目录下,并且工作正常。我可以用npm run dev编译脚本,没有错误。

但是根据项目文件夹结构,我将node_modules 文件夹移动到一个名为backend 的子文件夹中。

在这里,我还将webpack.mix.jspackage.json 等文件移动到后端文件夹中,并再次将run npm install 移动到其中。但我将resourcespublic 文件夹保留为原始文件夹,并通过backend 文件夹将它们与相对路径链接。

文件夹结构如下所示

现在,如果我在 backend 文件夹中运行 npm run dev,它会抱怨很多错误,例如 can't resolve '@babel/runtime/regenerator'

但如果我在根文件夹中创建一个符号 node_modules 并链接到 backend/node_modules,它工作正常,我可以编译脚本而不会出错。

我的问题是 - 如何编译子文件夹中的脚本而不制作这样的符号? 可能它不知道node_modules 文件夹在哪里。

【问题讨论】:

    标签: laravel webpack node-modules laravel-mix


    【解决方案1】:

    因为 laravel-mix 是基于 webpack 的。我在 webpack 配置中添加了modules 路径,如下所示,以使所有import 都知道node_modules 文件夹的位置。

    mix.webpackConfig({
      resolve: {
        modules : [
            path.resolve("./node_modules")
        ]
      }
    });
    

    没有更多的can't resolve 错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      • 2018-10-25
      • 1970-01-01
      • 2020-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多