nonzzz / vite-plugin-cdn

replace module with CDN. work with vite.
MIT License
73 stars 5 forks source link

lodash问题 #26

Closed jian-jiu closed 10 months ago

jian-jiu commented 10 months ago

不使用cdn打包后为

// 导入
const i = e=>(Vue.pushScopeId("data-v-d0fc7832"),
e = e(),
Vue.popScopeId(),
e)
// 使用
const i = Vue.ref();
        e.forEach(["1", "2", "3"], ((e,t)=>{
            i.value = e
        }
        ));

使用cdn后

// 配置
cdn({
    modules: [
      { name: 'lodash', relativeModule: 'lodash.js' }
    ]
  })
// 导入 (正常)
const u = e=>(Vue.pushScopeId("data-v-132f7d04"),
e = e(),
Vue.popScopeId(),
e)
// 使用 (不正常)
__wrapped__.forEach(["1", "2", "3"], ((e,t)=>{}
        ));

会不会是其他插件问题?cdn插件我已放在最后面

nonzzz commented 10 months ago

插件无法通过ast去完全推断globalName. 遇到这种情况你应该手动设置globalName.

nonzzz commented 10 months ago

你如果要查看推断出来的globalName. 在script里面set DEBUG=vite-plugin-cdn2 然后运行其他command.

jian-jiu commented 10 months ago

额...不会。看起来难度有点高,不理他了。已经优化的差不多了,等等看吧,相信后人的智慧

jian-jiu commented 10 months ago

使用lodash-es解决了。包也挺小的