【问题标题】:Using jquery in laravel 6在 laravel 6 中使用 jquery
【发布时间】:2019-12-24 15:09:38
【问题描述】:

我可以在 laravel 6 中使用 jquery 吗?我需要把脚本放在哪里?当我将 my_custom.js 放在公用文件夹中,然后在刀片中调用它 <script src="http://conf.lara/js/my_custom.js"></script> 时,控制台中的 js 将返回下一个。

[Vue 警告]:编译模板时出错: 模板应该只负责将状态映射到 UI。避免在模板中放置带有副作用的标签,例如

【问题讨论】:

    标签: jquery laravel


    【解决方案1】:

    我认为您可以在 VueJS 项目中使用 jquery 的最佳方式是,您可以 webpack.ProvidePlugin 在您的 webpack.mix.js 中添加 jquery 作为插件,这是一个代码 sn-p。

    module.exports = {
        .....
        plugins: [
           new webpack.ProvidePlugin({
              $: 'jquery',
              jQuery: 'jquery'
          });
        ]
    }
    

    完成后,您可以在源代码中的任何位置使用 jquery

    // in a module
    $('#item'); // <= just works
    
    jQuery('#item'); // <= just works
    // $ is automatically set to the exports of module "jquery"
    

    你可以参考这个文档 https://webpack.js.org/plugins/provide-plugin/#usage-jquery

    【讨论】:

      【解决方案2】:

      您使用 Vue 操作的元素不应包含任何脚本,假设您有一个名为 vue-app 的 id,并且您像这样加载 Vue:

      const app = new Vue({
          el: '#vue-app'
      });
      

      那么&lt;div id="vue-app"&gt; 中的所有内容都不应包含样式或脚本。只需将它们放在该元素之外。

      【讨论】:

      • 好的,明白了。但是插入脚本的最佳做法是什么?
      • 各种方法,通常您只需执行&lt;script src="{{ asset('js/app.js') }}"&gt;&lt;/script&gt;,其中asset 是指向您的公共目录的辅助函数(应该定义index.php)。
      • 对不起,我写的不对。我已经在刀片中使用资产,在我的问题中,我写在脚本标签中已经解析了数据。 js 文件在 public/js src 中。当我加载页面时,在浏览器开发工具中我可以找到它。我很困惑为什么控制台会给我一个错误。
      • 您在上面发布的错误?如果您仔细阅读,它会显示“Vue warn”,这意味着 Vue 遇到了它。您需要将脚本移到 Vue 实例之外。
      猜你喜欢
      • 1970-01-01
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-13
      • 1970-01-01
      • 1970-01-01
      • 2017-07-09
      相关资源
      最近更新 更多