【发布时间】:2018-09-03 15:37:16
【问题描述】:
我有点迷路了。我对 Laravel Mix 并不陌生,所以这真的很令人困惑。
我有一个布局刀片文件,它看起来像这样
<html> ....
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.9.0/katex.min.js"></script>
<script src="{{ mix('/js/myjs.js") }}></script>
</body>
</html>
myjs.js 是使用 Laravel Mix 编译的,包含十几个库,它们都可以正常编译和工作。
但是如果我包含这个
require('katex'); //so it's above everything else to simulate situation from above, when it's included in the layout file
...
并从布局文件中删除 CDN 脚本 - Katex 库将不起作用。
我尝试使用require('katex/dist/katex.min.js'),但仍然没有。库中的katex.min.js文件和CDN中的文件是一样的。
我不是 npm 专家,我只使用它来获取库,然后在我的 Laravel 应用程序中合并和缩小它们。
谁能帮我指出这里的问题或指出我在做什么/这里出了什么问题?
不应该
<script src="lib1.js"></script>
<script src="lib2.js"></script>
包含在html中,并且
require('lib1')
require('lib2')
编译成
<script src="{{ mix('compiled.js') }}"></script>
生产同样的东西?
谢谢!
更新:
我正在使用 Katex 来实现 thissummernote 插件。
【问题讨论】:
-
简短的回答是:不,它们不会产生相同的东西。 Webpack 将所有内容捆绑在自己的范围内,但包括带有
<script>标签的脚本会将它们包含在全局范围内。如果您分享您如何在其他脚本中使用 Katex,这将有助于我们了解问题所在。 -
谢谢,请稍等,我会更新问题。我希望我遗漏了一些明显的东西。
-
你必须通过 npm 包安装
Katex。 Laravel Mix 不支持 CDN 脚本,除非你想使用多个<script>请求。 -
抱歉回复晚了。是的,我安装了许多其他软件包:
require('katex');,但它没有用。我尝试了window.katex = require('katex');,但仍然没有。也许我需要和大 K 一起做。嗯,让我试着回复你。
标签: laravel npm laravel-mix katex