-
Notifications
You must be signed in to change notification settings - Fork 52
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
npm and browserify support #44
Comments
Are you trying to use Playground with node.js or install through npm to use in browser? |
I actually installed this repo by now using I am writing my codebase in es6 using import/export. With the help of browserify and I can't seem to import canvasquery/playground using an es6 import. Victor, which I can use by installing with npm and import using EDIT |
I would also like to add the following from the documentation pages of Browserify. It is used to make Victor.js a module and a global var and It seems quite easy to use/apply. Can you please let us know if you're able to add these kinds of features? Otherwise, I can look into it and perhaps send a pull request. Thanks in advance! |
Inspecting what I guess this is the same problem that @mrdoob is hesitating to deal with mrdoob/three.js#4776 TBH it looks like overhead that will be obsolete as soon as es6 modules get implemented in browser - and I can already tell that That leads me to assumption that I would have to manage two libraries - one to browserify for browsers, and the other one to work out of box with node.js. Correct me if I am wrong. |
My recommendation is to use ES6 Modules with Browserify and Babelify with the I can fork and mess around with this a bit if you would like. I'm very familiar with babel, npm for front-end, and browserify already. |
+1 for ES6 modules, it's really the simplest way to do nowadays |
I thought about it a little more, I'd probably skip over ES6 modules and Babel so that Node can pick up on it. Just seems to complicate it the more and more I think about it. If your goal is only to support CanvasQuery in browsers, but make it requireable in Node to later browserify, than ES6 modules with Babel would be fine. But if you goal is to allow CanvasQuery to be run in Node without a browser, than Babel should probably be skipped in favor of CommonJS for the source code and have a Browsreify build for people not wanting to use Node. This would have something like a |
Give me some time to deeply understand what these things do. I am working hard on splitting NextFor simplicity sake - I will for now drop support for server-side canvas manipulations Then - as far as I understand - to make thing compatible with browserify - all that has to be done is to add
And in playground i will have to ES6 ModulesSince it's just a sugar for constructor + prototype - I guess even if I don't use any transpiler you still should be able to use |
@rezoner I believe you are correct on both accounts. Edit: Actually, seems you are reading about ES6 Classes and not ES6 Modules. |
Your plan sounds satisfying :) and your assumption on the ES6 sugar sounds legit. Thanks for considering the support! |
Here is my interpretation: https://github.com/dannyfritz/CanvasQuery/tree/browserify |
Thank you - I see many things that I would have troubles solving by myself. Not yet sure but I think it won't be as much overhead as I thought since I am using build process anyway to concatenate the files - I can spit some require-ified versions. Nevertheless.... I will get rid of it as soon as a standard native way of modules and requires emerges in browsers ;) Managing legacy approaches killed many libraries. |
Just to clarify here, bower/npm support is really different from browserify/es6 modules support. As asked in the initial question. And I would vote 👍 for the bower/npm support (only bower if you consider dropping server-side support). It's really easy and fast to do, basically just add a For the module part, I'm very happy with my requirejs shim for now. |
Any plans on making this installable via npm or perhaps bower?
Also, some better module (export) structure would allow the use of browserify and/or require-ing this framework.
I tried making an es6 class which extends the playground class, imported using babel (babelify) but it just doesn't work. Tho It detects NodeJS and tries require 'canvas'.
The text was updated successfully, but these errors were encountered: