javascript - 设置 Webpack 和 Babel 来转译/填充旧代码

标签 javascript angularjs angular webpack

我有一个完整的旧 AngularJS 1.x 应用程序,用于通过 gulp 和 babel 运行。我们正在过渡到较新的 Angular 2+,但我在尝试让 Webpack 实际查找并编译旧文件时遇到了问题。我已尝试按照与此视频几乎相同的说明进行操作:

https://www.youtube.com/watch?v=H_QACBSqRBE

但是 webpack 配置根本不会对现有文件执行任何操作。有没有办法获取旧组件的整个文件夹,没有任何导入或导出?我觉得条目应该遵循导入依赖路径,但这对于旧的 AngularJS 1.x 项目来说并不存在。

在构建过程中不会抛出错误,它只是......不进行转译或填充。

该配置部分的示例:

rules: [
  {
    test: /\.js$/,
    exclude: /(node_modules|bower_components)/,
    use: {
      loader: 'babel-loader',
      options: {
        presets: ['@babel/preset-env']
      }
    }
  }
]

最佳答案

我们最近这样做了。我们创建了“虚拟”入口点文件,以避免必须更改所有 AngularJS 文件以包含 require/import 语句。

./entry-points/feature1.ts

export const importAll = (r: any): void => {
  r.keys().forEach(r);
};
importAll(require.context('./app/feature1', true, /module\.js$/));
importAll(require.context('./app/feature1', true, /(^(?!.*(spec|module)\.js).*\.js)$/));

webpack.config.js

entry: {
  'feature1': './entry-points/feature1.ts'
}

More detail here

关于javascript - 设置 Webpack 和 Babel 来转译/填充旧代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48552566/

相关文章:

angular - 如何使用 typescript 在 Angular 2 组件中编写以下代码

javascript - Javascript 中带键盘的可导航菜单

javascript - Bootstrap 面板不显示正文

javascript - 如何使用提交按钮来搜索表中的记录?

angularjs - ngAnimate 1.4.7 单元测试不调用动画函数

javascript - 从连接到 SQL 的 PHP 使用 AngularJS 读取 JSON 数据

javascript - 使用javascript重新加载时更改当前页面的URL

Angular 4 向控制台打印消息

javascript - 在 Angular 4 中导入外部 js 文件并访问函数和变量

Javascript - 在 JS 警告框上隐藏密码