从 child_folder/node_modules 导入依赖项不起作用
import dependency from child_folder/node_modules doesn't work
默认情况下,node_modules
文件夹位于我的 Laravel 项目的根目录下,并且工作正常。我可以用 npm run dev
编译脚本并且没有错误。
但是根据项目文件夹结构,我将 node_modules
文件夹移动到名为 backend
的子文件夹中。
Here, I also moved the files like webpack.mix.js
, package.json
into backend folder and run npm install
again inside it. But I keep my resources
and public
folders as original and link them with relative path via backend
folder.
文件夹结构如下所示
现在,如果我在 backend
文件夹中 运行 npm run dev
,它会抱怨很多错误,例如 can't resolve '@babel/runtime/regenerator'
.
但是如果我在链接到 backend/node_modules
的根文件夹中创建一个符号 node_modules
,它工作正常并且我可以编译脚本而不会出错。
我的问题是 - 如何在不创建这样的符号的情况下从子文件夹编译脚本?
可能它不知道 node_modules
文件夹的位置。
因为laravel-mix是基于webpack的。我在 webpack 配置中添加 modules
路径,如下所示,让所有 import
知道 node_modules
文件夹的位置。
mix.webpackConfig({
resolve: {
modules : [
path.resolve("./node_modules")
]
}
});
不再有 can't resolve
错误。
默认情况下,node_modules
文件夹位于我的 Laravel 项目的根目录下,并且工作正常。我可以用 npm run dev
编译脚本并且没有错误。
但是根据项目文件夹结构,我将 node_modules
文件夹移动到名为 backend
的子文件夹中。
Here, I also moved the files like
webpack.mix.js
,package.json
into backend folder andrun npm install
again inside it. But I keep myresources
andpublic
folders as original and link them with relative path viabackend
folder.
文件夹结构如下所示
现在,如果我在 backend
文件夹中 运行 npm run dev
,它会抱怨很多错误,例如 can't resolve '@babel/runtime/regenerator'
.
但是如果我在链接到 backend/node_modules
的根文件夹中创建一个符号 node_modules
,它工作正常并且我可以编译脚本而不会出错。
我的问题是 - 如何在不创建这样的符号的情况下从子文件夹编译脚本?
可能它不知道 node_modules
文件夹的位置。
因为laravel-mix是基于webpack的。我在 webpack 配置中添加 modules
路径,如下所示,让所有 import
知道 node_modules
文件夹的位置。
mix.webpackConfig({
resolve: {
modules : [
path.resolve("./node_modules")
]
}
});
不再有 can't resolve
错误。