在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  HTML/ JS模塊化中加載的文件名更換

JS模塊化中加載的文件名更換

問題描述

如今JS主流的組織方式都是模塊化開發(fā),但是平常開發(fā)中有遇到一種場景:
比如在項(xiàng)目中,有一個模塊的文件名被更改了,比如:ModuleA.js -> ModuleB.js
這樣就要導(dǎo)致我要找到每個引入了ModuleA的JS文件都要去做更改,否則會報(bào)錯:

import {xxx} from './ModuleA' -> import {xxx} from './ModuleB'

這樣工作量很大而且很不方便,而假如用<script>引入的方式的話,則只需要找到script標(biāo)簽引入的地方更改即可,只需更改一處地方

<script src="./ModuleA.js"></script> -> <script src="./ModuleB.js"></script>

或者舉個更常見的例子:
在React開發(fā)中,React的組件中都需要有

import React, { Component } from "react";

如果某天react更名叫做react2了。那我們用到react開發(fā)的項(xiàng)目不是得找到所有react組件的js文件去更改成

import React, { Component } from "react2";

所以想請各位同學(xué)指點(diǎn)一下,這種場景應(yīng)該如何更加優(yōu)雅地解決?還是這是模塊化開發(fā)的不方便之處?萬分感激!!!

回答
編輯回答
獨(dú)特范

1.你舉的import和<script>的例子不具有可比性,import換文件名這種操作對應(yīng)的是<script>的腳本文件中函數(shù)名的更換啊,如果有很多地方用到這個函數(shù),你也是要一個個手動修改的。而你舉的<script>的例子對應(yīng)的更多是app.js/vendor.dll.js這種文件

2.所以這并不是“模塊化”開發(fā)的壞處,因?yàn)閭鹘y(tǒng)方式一樣存在。

3.為什么這么不方便,因?yàn)?strong>改文件名本質(zhì)上就是修改了依賴,如同把jquery改成了zepto,react改成了preact,這么想是不是釋然了。

4.目前沒見到有通用的解決方案,因?yàn)檫@種操作需要對照舊的引用關(guān)系來更改對應(yīng)文件中的名稱。其實(shí)只有編輯器/IDE能做到這點(diǎn),至少目前VS Code是支持的

2017年10月5日 16:38
編輯回答
款爺

我覺得你應(yīng)該去用個智能點(diǎn)的IDE,比如試下WebStorm? 文件夾改名 文件改名 自定義模塊改名 函數(shù)改名 參數(shù)變量改名這些變更項(xiàng)目里有引用的都會智能更新,節(jié)約大把時間,所以就不存在你這個問題了

2018年3月13日 21:14