2017-08-07 49 views
3

工作我使用环境别名在我的自定义配置是这样的: 的package.json定制的WebPack配置别名不离子2

"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; 
} 

环境.TS

import { 

isDEV, 
API_HOST, 
...etc 

} from '@app/env' 

但我得到的错误:

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

回答

2

经过艰苦google搜索,我发现此修复程序(让打字稿装载机知道别名): 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