我正在处理两个Node包,我们称之为Library和Consumer。库负责在浏览器中渲染一堆东西。所有消费者都是import Library from 'library'
,并致电Library(someConfigHere)
- 这基本上只是一个测试,以确保库正在做我所期望的浏览器。强制Browserify转换依赖关系?
我已将npm link
ed库转换为Consumer,并且试图在Consumer上运行Browserify,但出现此错误:ParseError: 'import' and 'export' may appear only with 'sourceType: module'
。库确实包含ES6 export
声明,所以我猜测Browserify仅针对消费者而不是库运行。
所以我的问题是:有没有办法强制Browserify转换依赖关系以及?
这是我package.json
:
{
"name": "consumer",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "budo index.js --port $PORT",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"babel-preset-es2015": "^6.13.2",
"babel-preset-react": "^6.11.1",
"babelify": "^7.3.0",
"browserify-shim": "^3.8.12"
},
"browserify": {
"transform": [
"babelify"
]
},
"babel": {
"presets": [
"es2015",
"react"
]
}
}
这是消费者的index.js
:
import Library from 'library' // <= this is what isn't getting babelified
console.log(Library);
这是图书馆的index.js
:
export default (config) => {
console.log('Testing testing')
}
你的'tsconfig.json'文件是什么样的?像这样的'ParseError'使得它听起来像TS编译器不通过文件。 –
@DaveV我不确定TS编译器是什么。 AFAIK'ParseError'是一个巴别塔的事情。 – Rob