Fid*_*l90 3 javascript jquery node.js angularjs browserify
我正在使用node,gulp和browserify来使我的JS文件正确顺序并管理模块.我将jQuery和AngularJS安装为节点模块,并在需要时需要它们.Angular默认使用jqLite来处理DOM-Elements.
我知道当jQuery在AngularJS之前加载时,Angular将使用jQuery而不是jqLite.
但是在使用browserify时如何让Angular使用jQuery呢?或者:怎么可能需要jQuery角度?
现在我正在做var $ = require("jquery");,并在需要时使用它.但是我希望有一个Angular,例如在做的时候会原生地给我jQuery方法:
app.directive("dir", function () {
return {
link : function ($scope, $elem) {
var a = $elem.width();//jQuery methods currently not available here
}
};
});
Run Code Online (Sandbox Code Playgroud)
我真正需要做的是:
var jQuery = require("jquery");
app.directive("dir", function () {
return {
link : function ($scope, $elem) {
var jqElement = jQuery($elem);
var a = $jqElement.width();//jQuery methods are available here
}
};
});
Run Code Online (Sandbox Code Playgroud)
您可以使用browserify-shim
npm install browserify-shim --save-dev
Run Code Online (Sandbox Code Playgroud)
的package.json
"browserify": {
"transform": ["browserify-shim"]
},
"browser": {
"jquery": "./node_modules/jquery/dist/jquery.js"
},
"browserify-shim": {
"jquery": "$",
"angular": {
"exports": "angular",
"depends": ["jquery"]
}
}
Run Code Online (Sandbox Code Playgroud)