更新为Angular 1.3.0不再有效

Jam*_*ber 8 javascript angularjs browserify

Browserify用来包装一切.我刚刚升级1.2.231.3.0现在,我现在收到以下错误:

Firefox错误

TypeError: angular.module is not a function

var app = angular.module('login-Controller', ['Views']);
   ----------^
Run Code Online (Sandbox Code Playgroud)

显然没有定义角度.所以我输出了角度的输出

var angular = require('angular'),
console.info(angular); // Object {} ='s an empty object
Run Code Online (Sandbox Code Playgroud)

这是否意味着角度不再兼容browserify?如果是,我怎么能让它运作?

Chrome的详细错误

 Uncaught TypeError: undefined is not a function main.js:25868 C:\var\www\stage.mayfieldafc.com\src\site\js\users\loginCntrl.js.angularmain.js:1 smain.js:1 (anonymous function)main.js:28 ./src/site/js/app.js.angularmain.js:1 smain.js:1 emain.js:1 (anonymous function)
main.js:183 Uncaught Error: [$injector:modulerr] Failed to instantiate module mays due to:
Error: [$injector:nomod] Module 'mays' 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.
http://errors.angularjs.org/1.3.0/$injector/nomod?p0=mays
    at http://localhost:3000/js/main.js:183:12
    at http://localhost:3000/js/main.js:1900:17
    at ensure (http://localhost:3000/js/main.js:1824:38)
    at module (http://localhost:3000/js/main.js:1898:14)
    at http://localhost:3000/js/main.js:4167:22
    at forEach (http://localhost:3000/js/main.js:438:20)
    at loadModules (http://localhost:3000/js/main.js:4151:5)
    at createInjector (http://localhost:3000/js/main.js:4077:11)
    at doBootstrap (http://localhost:3000/js/main.js:1587:20)
    at bootstrap (http://localhost:3000/js/main.js:1608:12)
http://errors.angularjs.org/1.3.0/$injector/modulerr?p0=mays&p1=Error%3A%20…at%20bootstrap%20(http%3A%2F%2Flocalhost%3A3000%2Fjs%2Fmain.js%3A1608%3A12)main.js:183 (anonymous function)main.js:4190 (anonymous function)main.js:438 forEachmain.js:4151 loadModulesmain.js:4077 createInjectormain.js:1587 doBootstrapmain.js:1608 bootstrapmain.js:1502 angularInitmain.js:25682 (anonymous function)main.js:2845 triggermain.js:3116 eventHandler
Run Code Online (Sandbox Code Playgroud)

标记

 html(ng-app='mays)
Run Code Online (Sandbox Code Playgroud)

Jak*_*rsh 12

正如@JeffB所提到的,你可以使用browserify-shim(希望暂时)解决这个问题.

首先,npm install --save-dev browserify-shim.然后,将以下内容添加到您的package.json:

"browserify": {
    "transform": [
      "browserify-shim"
    ]
  },
  "browser": {
    "angular": "./node_modules/angular/angular.js"
  },
  "browserify-shim": {
    "angular": "angular"
  }
Run Code Online (Sandbox Code Playgroud)

然后,这应该让您require按预期访问Angular.