Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何强制webpack加载库的umd包_Angularjs_Webpack_Angular Upgrade - Fatal编程技术网

Angularjs 如何强制webpack加载库的umd包

Angularjs 如何强制webpack加载库的umd包,angularjs,webpack,angular-upgrade,Angularjs,Webpack,Angular Upgrade,我正在编写一个angular1+angular2混合应用程序,它使用webpack作为包绑定器 在我的代码中,我以这种方式导入了一个库(@angular/upgrade) import { UpgradeModule } from '@angular/upgrade/static'; Angular upgrade library位于node_模块文件夹中,具有以下树状结构(简化): 问题在于,默认情况下,webpack会解析我的导入语句,加载@angular/upgrade/static.j

我正在编写一个angular1+angular2混合应用程序,它使用webpack作为包绑定器

在我的代码中,我以这种方式导入了一个库(@angular/upgrade)

import { UpgradeModule } from '@angular/upgrade/static';
Angular upgrade library位于node_模块文件夹中,具有以下树状结构(简化):

问题在于,默认情况下,webpack会解析我的导入语句,加载@angular/upgrade/static.js,这是一个ES6文件,一旦与其余代码捆绑在一起,就会产生错误

我希望webpack做的是加载@angular/upgrade/static/package.json,其中包含指向umd包的正确主定义

{"main": "../bundles/upgrade-static.umd.js"}
这是可以实现的吗

谢谢,
Gab

从'@angular/upgrade/bundles/upgrade static.umd.js'导入升级模块工作


如果package.json位于npm模块的根级别,则Webpack仅跟随package.json中的
main
,因此在这种情况下,您必须直接访问所需的文件。

尽管此处描述了模块解析: 默认情况下,应该能够执行上面描述的操作,为了实现这一点,我必须使用
resolve.alias
属性。以下是我使用的配置:

resolve: {
        extensions: [ '.js', '.ts', '' ],
        modulesDirectories: [ path.resolve( __dirname, 'node_modules' ) ],
        alias: {
            '@angular/upgrade/static$': '../../node_modules/@angular/upgrade/bundles/upgrade-static.umd.js'
        }
    },

嗨,德鲁。谢谢你的回答,但它似乎不起作用。生成时,我发现
找不到名称“UpgradeModule”
错误
resolve: {
        extensions: [ '.js', '.ts', '' ],
        modulesDirectories: [ path.resolve( __dirname, 'node_modules' ) ],
        alias: {
            '@angular/upgrade/static$': '../../node_modules/@angular/upgrade/bundles/upgrade-static.umd.js'
        }
    },