自定义webpack配置别名不适用于离子2

时间:2017-08-07 09:38:52

标签: typescript ionic-framework webpack ionic2 alias

我在自定义配置中使用环境别名,如下所示: 的package.json

 "config": {
    "ionic_bundler": "webpack",
    "ionic_webpack": "./config/webpack-extension.config.js"
  }

的WebPack-extension.config.js

/*
inspired by:
    https://github.com/driftyco/ionic-app-scripts/pull/683#issuecomment-287401855
*/

let path = require('path')
let useDefaultConfig = require('@ionic/app-scripts/config/webpack.config.js')

module.exports = function () {

useDefaultConfig.resolve.alias = {
    "@app/env": path.resolve(__dirname, '../src/environments/env.' + process.env.IONIC_ENV + '.ts'),
};

return useDefaultConfig;
}

environment.ts

import {

isDEV,
API_HOST,
...etc

} from '@app/env'

但我收到错误:

Typescript Error
Cannot find module '@app/env'.

1 个答案:

答案 0 :(得分:3)

经过谷歌搜索后我发现了这个问题(让打字机加载器知道别名): tsconfig.json

  "compilerOptions": {
...
    "baseUrl":  "./src",
    "paths": {
      "@app/config": ["config/config"]
    }
  }
...

信用:https://github.com/ionic-team/ionic-app-scripts/pull/683#issuecomment-294078919

我的离子信息:

cli packages: (/Users/.../node_modules)

@ionic/cli-plugin-cordova       : 1.6.2
@ionic/cli-plugin-ionic-angular : 1.4.1
@ionic/cli-utils                : 1.7.0
ionic (Ionic CLI)               : 3.7.0

全球套餐:

Cordova CLI : 7.0.1 

本地包裹:

@ionic/app-scripts : 2.1.3
Cordova Platforms  : none
Ionic Framework    : ionic-angular 3.6.0

系统:

Node       : v6.9.5
OS         : macOS Sierra
Xcode      : Xcode 8.3.3 Build version 8E3004b 
ios-deploy : 1.9.1 
ios-sim    : 5.0.13 
npm        : 5.3.0