Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

组件是重用了,可代码都是copy了一份,一直在2M边缘徘徊,能不能改进一下呢 #289

Closed
rchunping opened this issue Apr 15, 2018 · 4 comments

Comments

@rchunping
Copy link

rchunping commented Apr 15, 2018

发现用到组件的时候编译后都是copy了一份代码进去,dist里重复的组件码多了好几份

压缩已经解决不了问题了,每次预览都是太大传不上去

new webpack.optimize.CommonsChunkPlugin({
      name: 'vendor',
      minChunks: function (module, count) {
        // any required modules inside node_modules are extracted to vendor
        return (
          module.resource &&
          /\.(vue|js)$/.test(module.resource)
          && ( count > 1 || module.resource.indexOf('node_modules') >= 0 )
        )
      }
    }),

尝试改webpack配置,但是这样js部分虽然移入vendor ,但是page.wxss样式里面没有@import对应组件的样式

另外vendor已经>500K了,编译都警告了,能否对大js文件自动切割一下?

框架能否改进一下,还有很多页面没做,感觉最后项目已经没法顺利打包了 -_-

希望改进的地方:

  1. 重复使用的组件js代码能独立到单独component.js进行引用
  2. 组件用到的样式放入单独.wxss文件,page.wxss里自动@import
@aOrz
Copy link
Member

aOrz commented Apr 15, 2018

尝试改webpack配置,但是这样js部分虽然移入vendor ,但是page.wxss样式里面没有@import对应组件的样式

最新的 https://github.com/mpvue/mpvue-quickstart 已经解决了这个问题

另外,小程序由微信开发者工具打包之后,也是把所有的 js 都打包成一个文件,不必太担心,而且 mpvue 的 webpack 配置已经有了 es6 转 es5 了,可以关掉微信开发者工具的 es6 转 es5

@aOrz aOrz closed this as completed Apr 15, 2018
@rchunping
Copy link
Author

@aOrz thanks, 复制新的build配置后确实管用。

@git10135405
Copy link

最新的 https://github.com/mpvue/mpvue-quickstart 已经解决了这个问题

为什么代码里面有很多的:{{#if_eq lintConfig "airbnb"}};{{/if_eq}} 这种呢?

@F-loat
Copy link
Contributor

F-loat commented Oct 18, 2018

不同的 eslint 规范需要生成不同的代码

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants