我在我的代码上运行browserify,它如下:
import './app';
//——————————————————————————————————————————————————//
// Components
//——————————————————————————————————————————————————//
import './components/_ntToggleClass';
app就是
const app = angular.module('app', []);
components
中的文件是组件。但他们正在使用前面提到的app
:
app.directive('ntToggleClass', () => {
... }
当我手动将所有内容放在一个文件中时,一切正常。但是在我使用了browserify后,我得到了
未捕获的ReferenceError:app未定义
当我查看代码时,var app
和指令都在那里。
答案 0 :(得分:1)
我在github上拍了一个快速样本。这将为您提供运行browserify的工作存储库。
我删除了之前的评论,因为我认为回购应该回答你的问题。
编辑:我想我刚刚得到了你的问题,你试图创建一个全局变量app
,只是在其他文件中使用?
使用browserify时,这是不可能的,文件中不是required
的任何变量都将返回undefined
。
使用browserify时,只需要您需要的任何内容。
答案 1 :(得分:1)
我的一位朋友带来了帮助;-)
我正在使用Babel(我认为很明显,因为我使用import
而非require
)来编码(Babelify with es2015
,确切地说),所以,就像我一样有import
,我也需要export
。
解决方案很简单,我所要做的就是放
export default app;
在我的app.js
文件的末尾,然后使用
import app from '../app';
进入我的指令/组件等。
答案 2 :(得分:0)
我认为这是关于定义排序的。
const app = angular.module('app', []);
这部分应该是下面部分的顶部:
app.directive('ntToggleClass', () => {
... }