【问题标题】:How to init() a JS inside Laravel Blade file如何在 Laravel Blade 文件中初始化()一个 JS
【发布时间】:2019-06-13 13:22:11
【问题描述】:

通常我使用一个 javascript 文件来导入不同的 JS 文件。现在很难做到这一点。我正在做的项目很疯狂,有一个 5Mb 的 JS 文件,我只想在一个页面上加载其中的一部分。 在 Javascript 文件中,我可以像这样导入模块,

import {Module} from "./components/Module";

并用作 Module.init();

但我想做的是将此模块加载到刀片文件中。 js文件位于resources/assets/js/components/Module.js

因为这个文件夹不是公开的,所以我不确定我是否使用类似的东西

<script src="../../../resources/assets/js/components/Module.js"></script> 在页面上。好吧,试过了,但效果不佳。 我只希望能够在刀片文件中像Module.init(); 一样初始化 JS。

我真的很感激和指导,因为我现在有点困惑:(

【问题讨论】:

    标签: javascript laravel


    【解决方案1】:

    您不能从resources 目录导入文件,您的应用程序对用户唯一可见的部分应该是public 文件夹,因此您应该将文件放入public 文件夹。例如
    public/js/modjule.js 并像这样导入它

    <script src="{{ asset('js/module.js') }}"

    如果您的网站使用https 协议,您可以使用secure_asset()

    <script src="{{ secure_asset('js/module.js') }}"

    【讨论】:

    • 感谢@AH.Pooladvand 的回复,Module 的方法在公开的index.js 里面。这个index.js 也包含在页面上,但我不能做任何像Module.init() 这样运行一些脚本和AJAX 代码的事情。看来我需要找到一种不同的方法 :) 谢谢你说清楚。
    • @JerryLi 我不是一个真正的 js 专家,但我认为能够做类似 Module.init() 的事情,你应该将你的 Module 作为一个窗口变量,比如 jquery 的 $ 变量更多信息阅读此链接stackoverflow.com/questions/7082886/…
    猜你喜欢
    • 2020-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 2019-01-19
    • 1970-01-01
    相关资源
    最近更新 更多