2017-08-07 3 views
3

J'utilise alias environnement dans ma config personnalisée comme ceci: package.jsonpersonnalisés alias config webpack ne fonctionne pas dans ionique 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; 
} 
environnement

.ts

import { 

isDEV, 
API_HOST, 
...etc 

} from '@app/env' 

Mais j'obtiens l'erreur:

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

Répondre

2

Après googler dur que j'ai trouvé ce correctif (laissez tapuscrit loader connaître l'alias): tsconfig.json

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

Crédit: https://github.com/ionic-team/ionic-app-scripts/pull/683#issuecomment-294078919

Mes infos ionique:

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 

forfaits globaux:

Cordova CLI : 7.0.1 

paquets locaux:

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

Système:

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