绑定后未定义应用程序

app is not defined after bundling

本文关键字:应用程序 未定义 绑定      更新时间:2023-09-26

我正在对我的代码运行browserfy,如下所示:

import './app';
//——————————————————————————————————————————————————//
// Components
//——————————————————————————————————————————————————//
import './components/_ntToggleClass';

应用程序只是

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

components中的文件是组件。但他们使用的是前面提到的app:

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

当我手工把所有东西放在一个文件里时,一切都成功了。但在我使用了browserfy之后,我得到了

未捕获引用错误:应用程序未定义

当我查看代码内部时,var app和指令都在那里。

我在github上做了一个快速示例。这将为您提供一个运行browserfy的工作存储库。

我已经删除了之前的评论,因为我认为回购应该回答你的问题。

edit:我想我刚才明白你的问题了,你试图创建一个全局变量app,只在其他文件中使用?当使用browserfy时,这是不可能的,文件中任何不是required的变量都将返回undefined

当使用browserfy时,只需要你需要的任何东西。

我的一个朋友来帮忙;-)

我正在使用Babel(我认为这是显而易见的,因为我使用的是import而不是require)进行编码(准确地说,Babelify使用es2015),所以,由于我有import,我也需要export

解决方案很简单,我所要做的就是放

export default app;

在我的app.js文件的末尾,然后使用导入

import app from '../app';

进入我的指令/组件等。

我认为这是关于定义排序的。

const app = angular.module('app', []);此部分应位于以下部分的顶部:

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