Javascript 如何在React静态样板文件中创建网页包导入别名?
我有以下Javascript 如何在React静态样板文件中创建网页包导入别名?,javascript,reactjs,ecmascript-6,webpack,Javascript,Reactjs,Ecmascript 6,Webpack,我有以下导入: // cwd: /project/pages/blog/category/red/index.js import PageHeader from '../../../components/PageHeader'; 我希望能够这样写(在我的项目中的任何地方): 我尝试过使用webpackresolve,但似乎无法使其正常工作: config.resolve = { alias: { components: [ path.resolve('../compo
导入:
// cwd: /project/pages/blog/category/red/index.js
import PageHeader from '../../../components/PageHeader';
我希望能够这样写(在我的项目中的任何地方):
我尝试过使用webpackresolve
,但似乎无法使其正常工作:
config.resolve = {
alias: {
components: [
path.resolve('../components/')
]
}
};
及
我错过什么了吗
我的应用程序架构是从中派生出来的,所以我的webpack.config.js看起来像
alias
接受键值对,值的类型为string
。我不确定它是否适用于数组
alias
接受键值对,值的类型为string
。我不确定它是否适用于数组。要更具体地回答,最好知道PageHeader
和您的webpack
配置在哪里:
假设:
PageHeader
位于/project/pages/components
- 您的
网页包
配置位于根级别/project
那么你的决心会是这样的:
config.resolve = {
alias: {
components: path.resolve('./pages/components')
}
};
同样,它取决于网页包
配置的路径和组件
目录。path.resolve
将相应地更改。要更具体地回答,最好知道PageHeader
和webpack
配置的位置:
假设:
PageHeader
位于/project/pages/components
- 您的
网页包
配置位于根级别/project
那么你的决心会是这样的:
config.resolve = {
alias: {
components: path.resolve('./pages/components')
}
};
同样,它取决于网页包
配置的路径和组件
目录。path.resolve
将相应地更改。问题似乎与React静态样板文件有关,更具体地说是在构建静态页面时
我找到了一个暂时解决问题的方法。我必须在别名前面加一个~
,这样它就不会被“当作”节点模块
config.resolve = {
alias: {
"~components": path.resolve(__dirname, '../components'),
"~decorators": path.resolve(__dirname, '../core/scripts/decorators'),
"~helpers": path.resolve(__dirname, '../core/scripts/helpers'),
"~i18n": path.resolve(__dirname, '../core/i18n'),
}
};
用法:
import fetch from '~helpers/fetch';
import header from '~components/header';
更多信息。这个问题似乎与React静态样板文件有关,更具体地说是在构建静态页面时
我找到了一个暂时解决问题的方法。我必须在别名前面加一个~
,这样它就不会被“当作”节点模块
config.resolve = {
alias: {
"~components": path.resolve(__dirname, '../components'),
"~decorators": path.resolve(__dirname, '../core/scripts/decorators'),
"~helpers": path.resolve(__dirname, '../core/scripts/helpers'),
"~i18n": path.resolve(__dirname, '../core/i18n'),
}
};
用法:
import fetch from '~helpers/fetch';
import header from '~components/header';
有关此操作的详细信息。已尝试按照设置根目录
,根目录
适用于我的网页setup@ivarni是的,我做了,(并更新了我的答案),但仍然没有解决。啊,你想提供一系列根吗?我两个都试过了,用一个简单的字符串和一个数组。尝试按照设置root
?root
对我的网页有效setup@ivarni是的,我做了,(并更新了我的答案),仍然没有解决。啊,你想提供一个根数组吗?我用一个简单的字符串和一个数组两种方法都试过了。