2016-12-21 37 views
1

我有jQuery的代碼custom.js文件:導入和導出jQuery函數

$('.nav.navbar-nav > li').on('click', function(e) { 
$('.nav.navbar-nav > li').removeClass('active'); 
$(this).addClass('active'); 
}); 

我想這個代碼導出到main.js file.Both文件都在同一個文件夾中。

通過了documentation,但無法理解如何使用jquery。

回答

3

首先,您需要將此代碼包裝在一個函數中。然後你導出這個函數。最後,你將其導入main.js:

custom.js

export function foo() { 
    $('.nav.navbar-nav > li').on('click', function(e) { 
     $('.nav.navbar-nav > li').removeClass('active'); 
     $(this).addClass('active'); 
    }); 
} 

main.js

import {foo} from 'custom' 

foo(); 

ECMA SCRIPT 6 modules

還要注意,你需要一個模塊加載器(如的WebPack/systemjs/requirejs等)以及將ES6代碼轉換爲ES5的Babel。

+0

browserify和babel會做這份工作嗎? –

+0

@ArkadiyStepanov是的,他們會! – Alon

+0

我在閱讀有關browserify的文檔時發現了這個例子,其中包括:var fs = require(「fs」); var browserify = require(「browserify」); browserify(「./ script.js」) .transform(「babelify」,{presets:[「es2015」,「react」]}) .bundle() .pipe(fs.createWriteStream(「bundle.js 「));' 但我似乎無法實現它到我的任務 'gulp.task('app-scripts',function(){ return gulp.src('src/js/app.js') \t \t .pipe(巴別({ \t \t \t預設:[ 「ES2015」] \t \t})) .pipe(醜化()) .pipe(gulp.dest( '建立/ JS')); });' 你有任何資源可以幫助我嗎? –