Comments (2)
@eduardolundgren This seems to annoy RequireJS as well. Sort of defies the UMD thoughts.
from gulp-umd.
@nicklasb Hopefully you have identified a pattern that works for you.
The pattern you have in the original issue is that somewhere in "......my code......" you should define an export variable. Usually this is an object or constructor.
Say you have a class you named "Engine". You write a file like this named "engine.js".
function Engine(valves) {
this.valves = valves;
}
Engine.prototype.start = function() {
// make the starter motor turn and send fuel into the injection system.
};
In your dev environment Engine
is a global. But when you ship you want to make it private if possible.
;(function(root, factory) {
if (typeof define === 'function' && define.amd) {
define(['starter', 'fuel-injection'], factory);
} else if (typeof exports === 'object') {
module.exports = factory(require('starter'), require('fuel-injection'));
} else {
root.Engine = factory(root.starter, root.fuelInjection);
}
}(this, function(starter, fuelInjection) {
function Engine(valves) {
this.valves = valves;
}
Engine.prototype.start = function() {
// make the starter motor turn and send fuel into the injection system.
};
return Engine;
}));
You can also change what value is returned by the "factory" function by providing the name via exports
configuration option.
Say instead of Engine
you called your class CombustionEngine
.
var options = {
exports: function(file) {
if (file.basename === 'engine.js') {
return 'CombustionEngine';
}
// file is a vinyl instance: https://github.com/gulpjs/vinyl#filestem
return file.stem;
}
};
gulp.src('*.js')
.pipe(umd(options))
.pipe(gulp.dest('dist'));
By the way, I am a new maintainer here, so at some point I will go about improving the documentation.
from gulp-umd.
Related Issues (15)
- License missing
- LiveScript support HOT 4
- Can it add CJS like module wrapping support?
- gulp-sourcemaps support HOT 3
- plugins must not require gulp as a dependency HOT 2
- returnExportsGlobal.js.is not included in the templates directory. HOT 4
- sourcemaps support
- Problem using with es6 HOT 1
- Does this package need the `gulp` dependency? HOT 5
- More documentation on dependencies HOT 2
- Uncaught ReferenceError: Invalid left-hand side in assignment, when dash is used in source filename HOT 2
- Adding window, document to IIFE but not not require it for commonJS, use root & root.document instead
- Update the 'global' check algorithm to latest umdjs guided
- export default with another export
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gulp-umd.