我想扩展离子的默认webpack配置。具体来说,我想为解析模块添加一个别名,这样我就可以通过它们的绝对路径而不是相对路径导入模块:
而不是像这样导入模块:
import { SomeComponent } from '../../components/some.component.ts';我也想
import { SomeComponent } from '@app/components/some.component.ts';其中@app是根源目录的别名。
在其他项目中,我可以通过在webpack配置中添加这样的内容来做到这一点:
module.exports = {
...
resolve: {
extensions: ['.ts', '.js'],
alias: {
'@app': path.resolve('./'),
}
},
...
};我不知道如何在不覆盖默认webpack配置的情况下使用Ionic来完成此操作。
发布于 2017-02-17 06:27:00
您可能希望复制现有的webpack.config.js文件,修改它并配置为使用它,而不是最初的文件。
以下是步骤
webpack.config.js (此文件位于..\node_modules\@ionic\app-scripts\config中)package.json文件中添加:
"config": { "ionic_bundler": "webpack", "ionic_webpack": "./config/webpack.config.js" }发布于 2017-05-11 14:11:49
接受的答案工作正常,但每次更新webpack.config.js时都必须更新app-script。因此,与其复制代码,不如在require中使用webpack.config.js
package.json
"config": {
"ionic_webpack": "./config/webpack.config.js"
}webpack.config.js
const webpackConfig = require('../node_modules/@ionic/app-scripts/config/webpack.config');
webpackConfig.resolve = {
extensions: ['.ts', '.js'],
alias: {
'@app': path.resolve('./'),
}
}在大多数情况下,您可以遵循这种方法,每次更新config时都不必更新app-script
发布于 2017-10-23 23:12:11
@Ionic版本的模块路径映射- 3.14.0
万一有人有类似的麻烦,找出确切的变化,以使这一工作。
在离子3(版本3.14.0)中,为了使webpack.config.js和tsconfig.json中的别名映射工作,您必须定义路径映射
若要使用自定义webpack配置,请配置package.json以加载自定义webpack.config.js。
"config": {
"ionic_webpack": "./config/webpack.config.js"
}baseUrl & paths中定义tsconfig.json,如下所示:
{ "compilerOptions":{ "baseUrl":"./src",“路径”:{ "@app/*":"app/*","@pages/*":“app/baseUrl/*”,“@常数/*”:“app/常数/*”,"@components/*":"app/components/*","@shared/*":"app/shared/*“},}参考文献:我的离子env信息:
cli包:
@ionic/cli-plugin-proxy : 1.4.13
@ionic/cli-utils : 1.14.0
ionic (Ionic CLI) : 3.14.0全球一揽子计划:
cordova (Cordova CLI) : 7.1.0本地套餐:
@ionic/app-scripts : 2.1.4
Cordova Platforms : android 6.2.3 ios 4.5.1
Ionic Framework : ionic-angular 3.6.0https://stackoverflow.com/questions/41512923
复制相似问题