我有一个common.js文件,其中包含我的App上使用的常见变量和方法,例如nav-bar模块(nav-bar.js)等。
通常,我的应用程序上的每个模块都需要导入整个common.js模块,但登录模块除外。这仅需要common.js上定义的竞争者之一。
如果我使用命名导入来执行以下操作:
$ import {RestURL} from "./common";
我意识到,是的,我可以在我的登录模块中使用RestURL const,但是也导入了common.js中导入的所有模块,包括nav-bar模块,该模块执行我不想执行的代码
我想知道...总有没有像静态变量那样只导入对应的变量RestURL而不运行所有common.js代码,也就是没有导入在common.js文件(例如nav)中导入的所有模块-bar.js模块?
谢谢!
// -- common.js ---------------------------------------------------
import '../inc/nav-bar'; // NAV-BAR JS
export const RestURL = {
login: '/services/b2b/v2/login',
}
// -- end of common.js module -------------------------------------
// -- login.js ----------------------------------------------------
import {RestURL} from "./common";
console.log(RestURL.login);
// -- end of login.js module --------------------------------------
我需要在login.js模块中使用RestURL const,但是我不希望导入nav-bar.js,因为其中有代码,在加载login.js时不需要执行任何操作。使用命名的导入方法,我设法访问const RestURL,但是同时也加载了导航栏模块...:(
答案 0 :(得分:2)
您可以将模块分为两部分,然后导入两个模块。
// -- const.js ---------------------------------------------------
export const RestURL = {
login: '/services/b2b/v2/login',
}
// -- end of const.js module -------------------------------------
// -- common.js ---------------------------------------------------
import '../inc/nav-bar'; // NAV-BAR JS
import {RestURL} from './const.js'
// -- end of common.js module -------------------------------------
// -- login.js ----------------------------------------------------
import {RestURL} from './const.js'
console.log(RestURL.login);
// -- end of login.js module ----