从子文件夹/节点模块导入依赖项不起作用 [英] import dependency from child_folder/node_modules doesn't work

查看:30
本文介绍了从子文件夹/节点模块导入依赖项不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

默认情况下,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'

但是,如果我在链接到backend/node_modules的根文件夹内创建一个符号node_modules,它会工作得很好,并且我可以正确地编译脚本。

我的问题是--如果不创建这样的符号,我如何从子文件夹编译脚本? 可能它不知道node_modules文件夹的位置。

推荐答案

As Leavel-Mix是以webpack为原型。我在webpack配置中添加了modules路径,如下所示,让所有import都知道node_modules文件夹的位置。

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

不再有can't resolve错误。

这篇关于从子文件夹/节点模块导入依赖项不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆