问题描述
我有一个带有预处理部分的外部组件(svelte-gallery-component)。
正常运行时导入使用的组件文件是ES6,运行正常。
从 rollup.config.js 预处理器部分使用的组件文件会产生导入语法错误。因此,我必须将该文件恢复为 commonjs 语法并将其粘贴在某个地方以免混淆组件组织的其余部分:
svelte-masonry-gallery
/ src directory
| index.js
| svelteMasonrygallery.js
/ preprocessor directory
| processgalleries.js
当前正在将组件链接到位于 @aphorica/svelte-masonry-gallery
的项目
在 sapper 项目 rollup.config.js 中,为了避免出错,我必须一路导入到处理器文件中:
import { preprocessgalleries } from '@aphorica/svelte-masonry-gallery/src/preprocess/processgalleries.js'
preprocessgalleries.js
文件使用 commonjs require
语句来获取所需内容。
在 rollup.config.js 中,processgalleries()
在 server 部分和 package.json 文件中被调用,它被指定为 devDependency。
所以,它可以工作,但规范很笨拙,我希望预处理器使用 ES6 约定。
我最终想要做的是将它像其他组件文件一样导出到 src 目录中的 index.js 文件中:
export { default as svelteMasonrygallery } from './svelteMasonrygallery.js'
--> export { default as processgalleries } from './preprocessor/processgalleries.js'
这将允许我在 rollup.config.js 中做一个简单的导入:
import { processgalleries } from '@aphorica/svelte-masonry-gallery`
有什么办法可以做到吗?
'svelte-masonry-gallery' 组件 package.json 文件如下所示:
"name": "@aphorica/svelte-masonry-gallery","version": "1.0.0","svelte": "src/index.js","scripts": {
"test": "jest","test:watch": "jest --watch",},"devDependencies": {
"@babel/core": "^7.12.10","@babel/preset-env": "^7.12.11","@rollup/plugin-node-resolve": "^11.1.1","@testing-library/jest-dom": "^5.11.9","@testing-library/svelte": "^3.0.3","babel-jest": "^26.6.3","jest": "^26.6.3","rollup": "^2.38.1","rollup-plugin-svelte": "^7.1.0","svelte": "^3.0.0","svelte-jester": "^1.3.0"
},"keywords": [
"svelte","gallery","components"
],"files": [
"src/index.js","src/svelteMasonrygallery.svelte","src/preprocessor/processgalleries.js"
],"dependencies": {}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)