我正在使用Ionic与Webpack和Typescript实现一个应用程序。 我通过npm安装'ngstorage'并尝试导入条目ts文件,但Webpack显示错误 - '无法解析模块'angular''。
我搜索过这个错误并意识到我需要在package.json文件和node_modules中包含angular。 但是,ionic-sdk模块已经包含了角度。所以它反而在浏览器中显示一个不可接受的错误,我试图多次加载角度。
Webpack是否有办法跳过模块解析器或指向角度模块到ionic-sdk模块的路径?或者是否有其他建议的进口方式?
谢谢。
答案 0 :(得分:6)
我根本不熟悉离子,但我希望我可以帮助你。 首先在文件中使用angular。在文件顶部,您需要导入角度:
import angular from 'angular';
然后我得到了两条可能对你有帮助的建议:
如果您确定在使用webpack创建的包之前加载了角度,则可以在webpack配置中添加角度作为外部库:
externals: [
'angular'
]
感谢resolve.alias,您可以覆盖webpack中的默认导入。因此,在您的配置文件中,您可以执行以下操作:
resolve: {
alias: {
angular: 'path/to/sdk/angular'
}
}
正如我所说,我不熟悉离子,所以如果那不是你想要的,我很抱歉:)。
答案 1 :(得分:1)
使用KisaneNeko的回答我能够在不添加角度的情况下执行以下操作。这解决了webpack的问题,但仍然给了我其他问题,但也许它会为你工作。
resolve: {
alias: {
'angular': '../../node_modules/ionic-sdk/release/js/ionic.bundle.js',
}
}
如果您需要,请参阅webpack的别名文档:https://webpack.github.io/docs/configuration.html#resolve-alias