离子3的`src`的路径别名

时间:2018-09-17 00:22:53

标签: angular typescript ionic-framework webpack

我有一个针对Ionic 3的自定义Webpack配置,可以使用src作为路径别名(即从src/module/file导入):

resolve: {
  alias: {
    'src': path.resolve('./src')
  }
}

但是,在使用Ionic应用程序脚本@ 3时,当我尝试提供服务或构建时会出现错误Cannot find module src/module/file

我已经看到了创建路径别名以从src下的目录(例如apppages等)中导入的方式,这些方式涉及更新Webpack解析别名。以及更新tsconfig.json的baseUrl。例如:

https://medium.com/@siddhartha.ng/ionic-3-import-using-aliases-2aa260d6fab3

但是,我希望能够从src而不是src的子目录中导入。是否可以通过更改我的webpack或TypeScript配置来做到这一点?

1 个答案:

答案 0 :(得分:0)

根据对Ionic 3的更新,Webpack配置现在具有两个顶级属性,devprop用于相应的Webpack配置。

这意味着您必须更新devprod属性,并从webpack配置中导出整个对象。您可以按照自己喜欢的任何方式进行操作,例如:

const config = require('@ionic/app-scripts/config/webpack.config.js');

config[process.env.IONIC_ENV].resolve.alias = { src: path.resolve('./src') };

module.exports = config; // you can also export a function that returns this

请记住,您需要同时使用配置导出整个对象。 module.exports = config[env]无法正常工作。