关于external的问题
Tankpt opened this issue · 7 comments
代码的https://github.com/ant-tool/atool-doc/blob/master/src/getWebpackConfig.js#L137
这里为什么要把external重置呢?
保留 exernal 有比较麻烦的问题
通常来说 external 的使用是在源码打包时,把一部分依赖通过全局解析,减小打包体积,但是在本地调试阶段,会通过 devDeps 引入
const $ = require('jquery');
import { xx } from 'your-module';
如果 doc 阶段也保持 external,就会导致在 examples 下的文件也无法 require 到正确的 module,本地调试会比较困难
我看模板是可以进行重置的,那其实使用者进行external的时候就默认应该自己去模板里面加相关的资源,那这个问题是不是可以解决的?
其实这个有一个问题。对于一些使用到动画的库,可以看看这个链接里面的一个例子, 简单描述下就是react的一些库(比如 react-addons-css-transition-group),如果不进行特殊处理,那打出来的结果会有俩份react,会报错,一般都是用dll或者external来解决。但是我看了源码。plugin也是会被默认重置,external也是被重置了。好像没办法解决这问题了
这种情况有没有考虑到呢?
这种情况的话,首先源码正常 build 和 发布 npm 都是没有问题的,实际使用中的也是会应用 external 的,唯一会有性能问题的就是 atool-doc --build
生成的静态文件
目前因为这些内容是是用来展示的 demo,并不是源码真正的 performance,所以没有考虑太多性能的问题
那其实使用者进行external的时候就默认应该自己去模板里面加相关的资源,那这个问题是不是可以解决的?
这里使用者自己去替换模版的话,成本其实蛮高的,而且一旦使用了自定义模版,后续 doc 的模版更新,用户都是无法继承的,所以这里权衡之下,选择了更简单的使用方式
打出来的结果会有俩份react,会报错,一般都是用dll或者external来解决。但是我看了源码。plugin也是会被默认重置,external也是被重置
这个问题没有 get 到,正常来说 react 的组件库是不应该直接依赖(dependencies) react 的,而是通过 peerDependencies 来间接控制所依赖的版本
其实前面的都是没关系的,最后一个点就是对于某些库
// react-addons-css-transition-group模块
// 入口文件 index.js
module.exports = require('react/lib/ReactCSSTransitionGroup');
这些库比如使用了一些动画这类的,如果不经过任何的处理,打包会打进两份react ,而这些只能使用external或者dll来解决,我意思是最终打包的时候
hello 这个问题。。那是无法解决是么?