Javascript 网页包导出默认值有效,而导出对象无效

Javascript 网页包导出默认值有效,而导出对象无效,javascript,angularjs,class,webpack,Javascript,Angularjs,Class,Webpack,我试图通过AngularJS使用实现webpack 在生产环境中构建和运行应用程序时,会抛出一个错误,指出我的主控制器未知。这取决于我如何导出我的HomeController类 下面的示例不起作用 //home.controller.js 导出类HomeController{ 构造函数(){ this.title='Home'; } } //index.js 从“./home.controller.js”导入{HomeController}; 角度.module('home',[]).contr

我试图通过AngularJS使用实现webpack

在生产环境中构建和运行应用程序时,会抛出一个错误,指出我的主控制器未知。这取决于我如何导出我的
HomeController

下面的示例不起作用

//home.controller.js
导出类HomeController{
构造函数(){
this.title='Home';
}
}
//index.js
从“./home.controller.js”导入{HomeController};
角度.module('home',[]).controller('HomeController',HomeController);

下面的例子很有效

//home.controller.js
导出默认类HomeController{
构造函数(){
this.title='Home';
}
}
//index.js
从“/home.controller.js”导入HomeController;
角度.module('home',[]).controller('HomeController',HomeController);

下面是我用来传输JS的规则

{
   test: /\.js$/,
   exclude: /(node_modules|server.js)/,
   use: [{
      loader: 'babel-loader',
      options: {
        presets: ['@babel/preset-env'],
        plugins: ['@babel/plugin-transform-classes']
      }
   }]
}
这可能是网页上的错误,还是我的规则有问题

编辑

导出默认值
也不起作用。仅当我在与模块相同的文件中声明类时,它才起作用

class HomeController {
    constructor() {
        this.title = 'Home';
    }
}

angular.module('home', []).controller('HomeController', HomeController);
我发现了问题

我忘记了控制器类中的“注释”“ngInject”

class HomeController {
    constructor($timeout) {
        "ngInject"; // <- this is the line I forgot.
        this.title = 'Home';
    }
}
class家庭控制器{
构造函数($timeout){

“不工作”;//你说“不工作”是什么意思?错误消息?@AluanHaddad这似乎不是问题所在查看OP发布的代码:在命名类导出中使用卷发,在默认导出版本中不使用卷发。@JaredSmith你是对的,我没有仔细阅读它。这可能是ESM的问题then@JaredSmith这是我的错误,我会编辑这篇文章
导出默认值
不起作用。错误只是angularJS说它找不到我的类的提供程序。@JaredSmith如果您想看到错误:
未知提供程序:eProvider