Vla*_*nov 5 javascript parceljs
我正在从Webpack迁移到Parcel,并且在组件中使用了以下文件夹别名:
import * as authActions from 'actions/authActions';
Run Code Online (Sandbox Code Playgroud)
我收到此错误: Cannot find module 'actions/authActions'
奇怪的是,它仅在使用时显示build,它在开发模式下有效,而在生产模式下则无效。
我已经在package.json中设置了我的别名,如文档所示:
{
"scripts: {
"build-client": "parcel build client/index.html dist/client",
"build-server": "parcel build server/index.js --target node -d dist/server",
"build-test": "yarn build-server && node ./dist/server/index.js"
},
"alias": {
"actions": "./client/actions"
}
}
Run Code Online (Sandbox Code Playgroud)
这是服务器端渲染的应用程序,我将组件导入到其他位置,并且无法使用默认的Parcel根目录,因为它是相对于输入文件的。
如何获得此名称以正确解析别名?
这个问题是在 Parcel1 是当前版本时提出的,因此对于将来到达这里的任何人来说,值得指出的是 Parcel 2 通过glob 别名支持此问题
您package.json将包括这样的条目:
{
"alias": {
"actions/*": "./client/actions/$1"
}
}
Run Code Online (Sandbox Code Playgroud)
然后,要导入 的所有导出./client/actions/authActions,您可以编写:
import * as authActions from "actions/authActions";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
316 次 |
| 最近记录: |