使用browserify来处理角度

时间:2014-12-01 00:47:16

标签: angularjs browserify

我的app.js如下所示:

//app.js
var angular = require('angular');

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

angular.module('app').controller('MainCtrl', function ($scope) {
    $scope.test = "abc";
});

// index.html的

<body ng-app="app" ng-controller="MainCtrl">
    {{test}}

    <script src="dist/app.js"></script>
</body>

目录结构如下:

   app/
     index.html
     app.js
     node_modules/
        angular/

使用npm install安装Angular。

然后我使用以下命令编译代码:

browserify --entry app.js --outfile dist/app.js

然后在浏览器中打开文件index.html后,我收到以下错误:

Uncaught TypeError: undefined is not a function
angular.module('app', []);

进一步的错误:

2014-11-30 19:44:46.345app.js:4082 Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to:
Error: [$injector:nomod] Module 'app' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument

我能错过什么?

1 个答案:

答案 0 :(得分:1)

终于明白了。

必须做的事情如下:

  1. 在node_modules / angular文件夹中创建angular-index.js文件 该文件的内容如下:

    要求(” ./ angular.min.js'); module.exports = angular;

  2. 然后将此文件包含在package.json文件的浏览器选项中。

    这究竟是如何让事情发挥作用我还不确定......但这让代码滚动了。