2015-12-15 140 views
5

我對我的代碼運行browserify後沒有定義,它是如下:應用程序捆綁

import './app'; 

//——————————————————————————————————————————————————// 
// Components 
//——————————————————————————————————————————————————// 

import './components/_ntToggleClass'; 

應用僅僅是

const app = angular.module('app', []); 

而在components文件,那麼,組件。但他們使用的forementioned app

app.directive('ntToggleClass',() => { 
    ... } 

當我把一切都放在一個文件手工,所有的工作。但我用browserify在這之後,我得到

Uncaught ReferenceError: app is not defined

當我看到裏面的代碼,都var app和指令的存在。

+0

這沒有幫助,對不起。 –

+1

嘗試使用'require(「./ components/_ntToggleClass.js」)',它應該直接複製文件的內容。 – Scott

+0

也不起作用@ScottKaye –

回答

1

我的一個朋友帶着幫助;-)

我使用巴貝爾(我還以爲全髖關節置換是顯而易見的,因爲我用import而不是require)我的編碼(準確地說,Babelify用es2015),所以,因爲我有import,所以我也需要export

解決方案很簡單,所有我必須做的就是把

export default app; 

app.js文件的末尾,然後用

import app from '../app'; 

到我的指令/組件等導入

+0

我正在使用require而不是導入並面臨同樣的問題,我將兩個控制器捆綁到一個文件中,並在捆綁的第二個文件中給出應用程序未定義@Tomek –

1

我在github上打了一個快速樣本。這會給你一個運行browserify的工作倉庫。

我刪除了我以前的評論,因爲我認爲回購應該回答你的問題。

編輯:我想我剛纔得到了你的問題,你試圖創建一個全局變量app只是在其他文件中使用? 使用browserify時,這是不可能的,你文件中不是required的任何變量將返回undefined

使用browserify時,只需要你需要的任何東西。

+1

做得很好!令人敬畏的個人資料圖片。 – Scott

0

我認爲這是關於定義排序。

const app = angular.module('app', []); 這部分應該是頂部的下面部分:

app.directive('ntToggleClass',() => { 
    ... } 
+2

儘管這樣做,我寧願避免在每個文件中寫入'const app ...'。 –

相關問題