从 vue 组件的公共文件夹中导入 js 文件(Laravel)

Posted

技术标签:

【中文标题】从 vue 组件的公共文件夹中导入 js 文件(Laravel)【英文标题】:import js file from public folder in a vue component (Laravel) 【发布时间】:2020-04-20 12:37:03 【问题描述】:

我需要从 vue 组件的“public”文件夹中导入一个文件“js”。

我的 Vue 组件:

<template>
  <div>
    <h2>Hello</h2>
  </div>
</template>
<script>

   import myplugin from "/public/vendor/jquery/jquery.min.js";
   export default 
      name: "pageone"
   
</script>

但是我在编译阶段收到错误,有人可以帮助我吗?

【问题讨论】:

错误是什么?请附上错误截图。 我假设您需要使用相对路径。类似from '../../../public/vendor/jquery/jquery.min.js' 为什么您的public 文件夹中有vendor 文件夹? jquery 很可能已经存在(取决于您使用的 Laravel/Laravel UI 版本)。通过 npm 包含/需要 jquery。 laravel.com/docs/master/mix#working-with-scripts 另外,这个import myplugin from 是错误的。应该类似于import * as jQuery from ... 【参考方案1】:

(虽然在使用编译器时将库/包放在公共文件夹中不是一个好主意),如果你真的想把它放在公共文件夹中,你应该使用 relative_path。

import myplugin from "../../public/vendor/jquery/jquery.min.js";

但是,我会将它安装为 npm 包并利用 laravel-mix 在我的构建中添加 jquery。

【讨论】:

以上是关于从 vue 组件的公共文件夹中导入 js 文件(Laravel)的主要内容,如果未能解决你的问题,请参考以下文章

vue-cli 2.* 中导入公共less文件

在 vue 组件的 laravel 中导入 json 文件

如何在 Vue 组件中导入外部函数?

有没有更好的方法或在 vue.js 中导入 mixins

以编程方式从文件夹中导入 Vue 组件,而不是硬编码(我实际上使用的是 Nuxt,但我将其称为 Vue)

在 vuejs 2 组件中导入 css/js 文件的问题