鍍金池/ 問(wèn)答/網(wǎng)絡(luò)安全  HTML/ 一個(gè)含有多個(gè)變量的js文件,其中的變量如何能被多個(gè)文件引用?

一個(gè)含有多個(gè)變量的js文件,其中的變量如何能被多個(gè)文件引用?

描述:
由于是項(xiàng)目升級(jí),不想做太多改動(dòng),該js文件里變量原定義形式是:
含有大量的變量聲明:
如:
var aaa='變量1';
var bbb='變量2';
var ccc='變量3';
var ddd='變量4';
...

如何將這些公用的變量放到項(xiàng)目(vue項(xiàng)目或者ember項(xiàng)目)的某個(gè)位置,使其能被其它文件引用?并如何被引用?

已知一種方法:
可以新建一個(gè)common.js,common.js中export一個(gè)對(duì)象,然后將你全局用的變量放在這個(gè)對(duì)象里面就行了。
common.js:export default {a:[1,2,3]}
main.js:import commonJs from ./common.js
在mian.js中把commonJs掛在windown上面window.commonJs = commonJs
在組件中就可以commonJs.a訪問(wèn)到這個(gè)數(shù)組了

但這種方法我需要對(duì)原來(lái)的代碼改稱(chēng)鍵值對(duì)的形式,我覺(jué)得這樣的改動(dòng)好像不小,請(qǐng)問(wèn)還有沒(méi)有其它方法?

回答
編輯回答
淚染裳

你這種方法雖然可行,但是并不是用來(lái)做這個(gè)事情的。想象一下,假設(shè)你在commom.js里面設(shè)置全局變量,如果你想在頁(yè)面改動(dòng)這個(gè)變量呢?難道每個(gè)頁(yè)面重新賦值?再假設(shè)如果你想在某個(gè)頁(yè)面改動(dòng)了這個(gè)變量別的頁(yè)面也想統(tǒng)一響應(yīng)這個(gè)改變呢?所以vuex才是解決你疑問(wèn)的正確 途徑

2017年3月26日 10:25
編輯回答
柒喵

可以這樣
common.js

export var a = 1
export var b = 2

main.js

import {a} from './common.js'
2017年11月29日 22:46