【问题标题】:angular 1.6 es6 es5 browserify "Uncaught Error: [$injector:nomod] Module 'appSuite' is not available!"angular 1.6 es6 es5 browserify “未捕获的错误:[$injector:nomod] 模块‘appSuite’不可用!”
【发布时间】:2018-06-06 09:41:40
【问题描述】:

我正在尝试将 Angular 1.6 应用程序从 ES5 移动到 ES6。 索引 html 包含应用程序的名称:ng-app="appSuite" 我们通常使用脚本标签引用单个 js 文件。

我现在更改了 html 以引用应该包含所有源的捆绑文件,因为我已将导入添加到 app.module.js ..

我们使用 grunt,我添加了 babel 和 browserify 步骤。 app.module.js 的顶部现在有:

"use strict";
export default appSuite;             <<< Is this correct ?
import './access.controller.js';
import './apiClient.service.js';

在 Babel 之后变成:

"use strict";

Object.defineProperty(exports, "__esModule", {
    value: true
});

require('./access.controller.js');

然后 browserify 将其更改为:

(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof 
require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var 
f=new Error("Cannot find module '"+o+"'");throw 
f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o]
[0].call(l.exports,function(e){var n=t[o][1][e];return s(n?
n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof 
require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})
({1:
[function(require,module,exports){
"use strict";

(function () {
"use strict";

angular.module("appSuite").controller("accessController", accessController);

不幸的是,当我现在运行它时:

Uncaught Error: [$injector:nomod] Module 'appSuite' is not available!**

有人知道我在这里缺少什么或有办法调试它吗? 提前致谢,节日快乐!

【问题讨论】:

    标签: angularjs grunt-browserify


    【解决方案1】:

    您需要在模块中加载空依赖项,

    const appSuite= angular.module('appSuite', [])
    export default appSuite
    

    【讨论】:

    • 我猜现有的依赖项也应该被导入。我会试试的。。谢谢你的建议。
    • 删除所有这些并没有什么不同,但我会尝试添加那些不存在的......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 2016-05-23
    • 1970-01-01
    相关资源
    最近更新 更多