Giter VIP home page Giter VIP logo

Comments (4)

ratiw avatar ratiw commented on August 14, 2024

@coderjp Well, I didn't really think about this until you mentioned it.

The obvious reason is that Vuetable-2 requires vue-resource to perform AJAX request, and if I do not register it with Vue (via Vue.use), it wouldn't work. And in order for it to be registered with Vue, it will need a reference to Vue itself (in Vue.use).

And, I think, the reason the in vuetable-1 it does not do like this maybe because (I really make a guess here) it was all bundled down into one js file. And the bundler (browserify in that case) has already include Vue as the dependency.

If this is a problem and if there is a way to fix it, I would love to learn about that. But my use cases are quite limited and I haven't faced that situation before, so I really have no idea how to deal with that. Any suggestion is really welcome. :)

from vuetable-2.

coderjp avatar coderjp commented on August 14, 2024

Yes, I see what you're saying @ratiw

It just doesn't seem right that a Vue template is importing Vue - but yes I understand that it is in order to bind vue-resource. As far as I'm aware though, you don't need to use Vue.use() for vue-resource.

I am using webpack, maybe it makes sense to define Vue and Resource inside the template for vue-cli, but for me, I have no problem forcing the user to define Vue and Resource before loading the templates.

Probably going to take some playing around with. If I find a way I am happy with, I will be sure to update the issue.

from vuetable-2.

ratiw avatar ratiw commented on August 14, 2024

As a matter of fact, you do need to use Vue.use() to register a Vue plugin before you can use it according to the doc. Even in vue-resource's doc also tell us so.

I'm also using webpack, and omitting any of those lines will always causing error.

from vuetable-2.

cristijora avatar cristijora commented on August 14, 2024

This can actually be an improvement which will reduce the size of vue-table.
Why not force the user to use some http library from the start rather than importing it inside vue-table

created(){
 if(!this.$http){
  this.warn('A http library must be provided in order for vuetable-2 to work.');
 }
}

Since most of the users already use a http library if they want such tables, it's not necessarily to register it twice.
This will get your rid of Vue and VueResource dependencies and drop the vuetable size from 82kb to 22kb :)

from vuetable-2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.