javascript - 带有 ES6 和 webpack 的 AngularJS 1.7 给出错误 : Uncaught TypeError: Cannot read property 'module' of undefined

标签 javascript angularjs webpack

我正在创建 AngularJS 应用框架。我正在使用带有 webpack 的 ES6 进行捆绑。我收到一个错误。我四处搜寻但找不到解决方案。我得到的错误是:

Uncaught TypeError: Cannot read property 'module' of undefined

以下是我遇到错误的文件。

import { angular } from 'angular';
import { HomeController } from './app/appName.home';

angular.module('appName', [])
    .controller('HomeController', HomeController);

angular.element(() => {
    angular.bootstrap(document, ['appName']);
}); 

我在网上遇到错误:

angular.module('appName', [])

我正在使用 babel 将 es6 编译为 es5。用于捆绑应用程序和 Angular 文件的 Webpack 配置是:

module.exports = {
    devtool: 'source-map',
    entry: './src/main.js',
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'app.bundle.js'
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                loader: "babel-loader",
                query: {
                        presets: ['@babel/preset-env']
                }
            }
        ]
    },
};

附件是显示错误的图像。

Uncaught ReferenceError: angular is not defined

如果我在 chrome 中调试它,它会在范围内显示具有模块功能的 Angular 对象。

module function available as property of angular in scope

编辑: 我读了一个here这可能是解决方案。但我认为我不需要在 html 中添加脚本文件。 Webpack 也捆绑了来自 node_modules 的 Angular 文件。这就是我从哪里导入 Angular 。一旦原因仍然可能是它以某种方式稍后在 bundle 中加载 Angular ,那么它可能会产生问题。虽然没有找到细节

最佳答案

在我的例子中,解决方案是像这样导入 jQuery 和 angular:

import jQuery from 'jquery'
import 'angular'

希望对某人有所帮助

关于javascript - 带有 ES6 和 webpack 的 AngularJS 1.7 给出错误 : Uncaught TypeError: Cannot read property 'module' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54284080/

相关文章:

javascript - 了解 AngularJS 函数 $arguments

angular - 如何为 Angular2 测试配置 webpack?

javascript - 如何在 webpack 中使用 node-sass-asset-functions?

javascript - 处理对脚本的多次调用

javascript - AngularJS 中 Promise 的顺序和时间

javascript - 使用 chrome 扩展检查 javascript 库是否存在

javascript - 在 webpack 构建之后运行命令

javascript - 过滤json类似mysql "like"操作符

javascript - (jQuery) 在 cookie 中单击时保存复选框状态

javascript - 使用 AngularJS 调整表格列的大小