Vue は外部 JS を参照し、JS ファイル内のメソッドを呼び出します
JS ファイルを VUE プロジェクトに導入するいくつかの方法
Vue プロジェクトを開発する場合、一部の js ライブラリをエクスポートせずに非 ES6 形式で使用する必要がある場合があります。これは次の方法で実現できます。
1. scriptタグを使用してindex.htmlページに導入します
もちろんCDNのアドレスも使えます。このようにして導入されたコンテンツはグローバルであり、どこでも使用できます。
<!DOCTYPE html>
<html lang=zh-CN>
<head>
<meta charset=utf-8>
<meta http-equiv=X-UA-Compatible content="IE=edge">
<meta name=viewport
content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<title>网签合同查询</title>
<link rel=stylesheet href=./static/index.b0707a6a.css>
**被引入的JS**
<script src=https://isdapp.shandong.gov.cn/jmopen/jssdk/index.js charset=utf-8></script>
</head>
<body>
<div id=app></div>
<script src=./static/js/chunk-vendors.9051d855.js></script>
<script src=./static/js/index.d88e62c6.js></script>
</body>
</html>
2. main.js で window.moduleName を使用して使用します
Vue.prototype に組み込んでコンポーネントで使用することもできます。
var THREE = window.THREEvar GLTFLoader = THREE.GLTFLoader
Vue.prototype.THREE = THREE
3. エクスポートを手動で追加する
js ライブラリで使用する必要があるメソッドに、エクスポートされるデフォルトの {/method /} を指定し、import {*} from で使用します。
JS ライブラリ内:
function realconsole(){
alert("hello world!"); }
export {
realconsole }
JS ライブラリを使用する必要があるコンポーネント内:
import realconsole from './xxx'
4. import メソッドを使用して、必要な js ライブラリのメソッドをグローバルにマウントします。
import '@static/libs/GLTFLoader'
// 可以从全局获取导入的方法
let GLTFLoader = THREE.GLTFLoader
すぐに使える: 呼び出される JS ファイルのメソッドで vue ページのメソッドを呼び出す必要がある場合は、次のように実行できます。
jsでvueのメソッドを呼び出す
vueページでwindowオブジェクトにメソッドを登録し、jsページでwindow.xxxを直接呼び出します。
demo.vue
mounted() {
window.functionForJs = this.functionForJs
},
methods: {
functionForJs(data) {
console.log('接收参数', data)
}
}
デモ.js
export function doSomething() {
window.functionForJs('哈哈哈')
}