【发布时间】:2020-02-08 22:25:39
【问题描述】:
我正在使用带有 laravel 刀片文件的 vuejs(laravel 也可以混合)。但是当我在本地运行“npm run watch”时,它构建了大约 13 MB 的 app.js! 当我在服务器上运行“npm run pord”时,它会产生 6 mb ! 因此,每次我部署新任务时,用户都会面临缓慢的问题。 我几乎没有角色权限(主面板和学校面板)。 主面板可以完全控制所有内容。但是学校小组的组成部分很少。 我们使用调用主组件的刀片文件,主组件可能有一个或多个 SPA 组件(Tab based)。意味着当用户单击其他选项卡时,它会加载另一个组件,但如果用户单击侧边栏菜单页面(laravel 刀片文件) 重新加载并加载另一个带有标签的页面。
我不需要为学校面板加载所有组件,因为此面板的权限有限。 有什么办法可以让我加载特定于组件的 js 文件而不是一个 js(app.js) 文件? 有没有办法将所有包压缩在单个文件和另一个 js 文件中的组件文件中?(因为每当我部署更改时,用户必须再次下载整个 js 文件)
【问题讨论】:
-
你有一个 app.js? app.js+vendor.js?
-
public/app.js 只有一个js @PetrAveryanov
-
查看“供应商捆绑包提取”。这就像调用
mix.extract()并在您的视图中添加几个额外的脚本标签一样简单,用于捆绑和清单。更多详情请见laravel.com/docs/5.8/mix#vendor-extraction