因此,我一直在Laravel项目中使用Yarn包管理器来下载jQuery和bootstrap之类的公共JavaScript库。我的.yarnrc配置文件只有一行可以指定模块目录,以便所有软件包都可以使用。
--modules-folder public/components
在我决定将node-sass引入到我的后端程序包项目中之前,一切都很好。
我的问题是,包括其所有依赖项的node-sass最终存储在我的public / components文件夹中。理想情况下,我只对公共包使用Yarn,对后端包使用npm(最终将在项目根目录的node_modules中使用)。但是它们都使用相同的package.json文件。
有没有办法拆分这些程序包管理器?还是我完全以错误的方式来做这件事。
答案 0 :(得分:1)
正如我在评论中提到的那样,这是一种非常奇怪的设置方式。通常,您可以这样做:
package-lock.json
,yarn使用yarn.lock
来确定要下载的软件包版本,因此最终可能导致依赖项不匹配。 Laravel Mix将确保捆绑包中实际上仅包含最低限度的文件,此外,可以缩小源文件,还可以设置目标浏览器版本,以将较新的ES 6语法转换为兼容的JavaScript。
不将模块直接放置在公用文件夹中的主要原因是:
总的来说,我认为最好是编译资产。