Open mih-kopylov opened 7 years ago
To make it work there's a workaround:
window.tinycolor = require("tinycolor2");
require("md-color-picker")
But it's ugly, as there's no need to litter the global window
scope
then don't :)
Use the expose-loader webpack module.
'expose-loader?tinycolor!tinycolor2',
'md-color-picker'
@aberenyi looks expose-loader
do the same, doesn't it? It puts the module into the global scope window
.
It's not a good idea, it's just a more tricky way to do window.variable = reuire("module")
My request is about having a clear way to use modules and avoid usgin global variables :)
You're right, sorry I misunderstood your question.
What you could try is to import both packages just before you define the module.
import * as tinycolor from 'tinycolor2'
import * as mdColorPicker from 'md-color-picker'
angular.module('yourApp', [..., 'ngMaterial', 'ngCookies', 'mdColorPicker']);
Have not tried this, but in theory it could work.
Unfortunately this won't work as well, (although I haven't tried it, but it shouldn't)
because it's not about module import order, it's about a dependency of md-color-picker
module from window.tinycolor
variable.
And the request is about excluding this dependency in favour of tinycolor2
module import inside the module
I'm using webpack. I've added md-color-picker to my package.json, then I've added
require('md-color-picker')
, but I've faced with this:Looks
md-color-picker
itself relies that tinycolor will always be in global scope. But in tinycolor theres a definition:Could you please fix