鍍金池/ 問(wèn)答/HTML/ 在.vue文件中引入.js文件的問(wèn)題

在.vue文件中引入.js文件的問(wèn)題

我想在一個(gè)vue文件中引入一個(gè)完整的js文件。所以我感覺(jué)用import應(yīng)該不大適合,沒(méi)法一下引入全部的內(nèi)容。
然后我又試了兩種方法(不知道有沒(méi)有這方法)
1.在vue文件中<script src="" type="text/javascript"></script>引入
報(bào)錯(cuò)了
2.在html文件中<script src="" type="text/javascript"></script>引入
沒(méi)報(bào)錯(cuò),但在vue中調(diào)用函數(shù)時(shí)找不到
請(qǐng)問(wèn)有什么方法可以實(shí)現(xiàn)呢?求教

我是在做一個(gè)地圖的小項(xiàng)目,想引入一個(gè)測(cè)面積的功能,我在網(wǎng)上找了一個(gè)實(shí)現(xiàn)這功能的js文件
在沒(méi)使用vue的情況下直接在html中
<script src="./GeoUtils.js" type="text/javascript"></script>
<script type="text/javascript" src="./AreaTool_min.js"></script>就可以直接使用
我想在vue中引入,但只export最后的功能函數(shù)話,總是會(huì)提示有未定義,不知到有什么比較好的方法可以解決這個(gè)問(wèn)題?

回答
編輯回答
溫衫

.vue 中不解析 script標(biāo)簽引入js文件.
import引入是必須的. 有兩種用法:

1.import a from '../a'
2.import '../a'

區(qū)別在于第一個(gè)你要用到export導(dǎo)出之后 才能用import導(dǎo)入.
第二個(gè)是直接引入 和script標(biāo)簽是一樣的. 但是它作用在自己的js文件中, 你要是不把它掛載在window中 你是獲取不到的.

2017年2月12日 11:08
編輯回答
獨(dú)特范

1、不能這么引入。除非在vue的某個(gè)生命周期去creat這個(gè)標(biāo)簽插入html;
2、你得保證讓這個(gè)js文件先于vue加載完。

2018年1月6日 14:34
編輯回答
青檸

為什么import不合適呢?既然是vue的單文件方式,最好還是組件化的開(kāi)發(fā)方式呢,話說(shuō)你要引入的js是些什么東西呢?

2018年8月6日 15:56
編輯回答
歆久

誰(shuí)說(shuō)vue沒(méi)法一下引入全部的內(nèi)容的?麻煩好好看看官方文檔

插件

插件通常會(huì)為 Vue 添加全局功能。插件的范圍沒(méi)有限制——一般有下面幾種:

  • 添加全局方法或者屬性,如: vue-custom-element
  • 添加全局資源:指令/過(guò)濾器/過(guò)渡等,如 vue-touch
  • 通過(guò)全局 mixin 方法添加一些組件選項(xiàng),如: vue-router
  • 添加 Vue 實(shí)例方法,通過(guò)把它們添加到 Vue.prototype 上實(shí)現(xiàn)。
  • 一個(gè)庫(kù),提供自己的 API,同時(shí)提供上面提到的一個(gè)或多個(gè)功能,如 vue-router

補(bǔ)充回答

不是所有插件都完全適合用在vue項(xiàng)目中,很多非vue標(biāo)準(zhǔn)的插件你可能需要自己改造的

2018年5月26日 18:06
編輯回答
尛曖昧

那得看你的js文件按什么模塊規(guī)范編寫(xiě)的,如果方法不是掛載在window下,你肯定是調(diào)用不了的

2018年2月27日 00:23