之前有一个需求是,table里面要加一些提示文字和自定义icon,同时需要前端做分页。这些功能element-ui都不支持,所以我就尝试着改node_modules里面element-ui的源码。但是改了缺没有生效。最后我把整个table组件移出来到src目录下,然后改了改引用名字什么的,就生效了。

可是这没有从根本上解决问题啊,我想问的是,为什么直接改node_modeles里面的代码会不生效,这其中的原理是什么?

回答

你可能修改的是element的源码,而你引用的是它编译打包之后的,所以没有生效。

ps:

如果你单独去修改node_modules里面的代码,那你同事以及生产环境呢?

有这种需求,建议你去fork一下element,然后使用npm安装你fork的地址。

一二楼说的很正确。如果想要改源码,你的重新下载element源码。然后改掉你想要改的,然后npm run build,将改掉里面的lib替换到node_modules中element下的lib包,只有这样才可以

element-ui 引用的已经是打包好的。。

首先需要了解npm包的结构

一般的npm包发布的时候,里面会包含两部分

第一部分:源码

第二部分:打包出来的文件(js,css等)

还有一种可能不生效,那就是上面两个你都修改了,但是npm run dev的时候还是不生效,这时候就要去看下你本地的配置了,可能饮用的是build里的文件,或者存在缓存(但是这种几率一般很小)

我想知道楼主是怎么解决的

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐