Pracuję nad dwoma pakietami węzła naraz, nazwijmy je Biblioteką i Konsumentem. Biblioteka jest odpowiedzialna za renderowanie wielu rzeczy w przeglądarce. Wszystko, co robi Konsument to import Library from 'library'
i zadzwoń pod numer Library(someConfigHere)
- to po prostu test, aby upewnić się, że biblioteka robi to, czego oczekuję w przeglądarce.Wymuś przeglądanie, aby przekształcić zależności?
Mam npm link
ed Biblioteka w Consumer i próbuję uruchomić Browserify na Consumer, ale pojawia się ten błąd: ParseError: 'import' and 'export' may appear only with 'sourceType: module'
. Biblioteka rzeczywiście zawiera oświadczenie ES6 export
, więc domyślam się, że Browserify działa tylko przeciwko Konsumentowi, a nie Bibliotece.
Moje pytanie brzmi: czy istnieje sposób na zmuszenie Browserify do transformacji zależności również?
To jest mój 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"
]
}
}
To Konsumenta index.js
:
import Library from 'library' // <= this is what isn't getting babelified
console.log(Library);
To Biblioteki index.js
:
export default (config) => {
console.log('Testing testing')
}
Jak wygląda twój plik 'tsconfig.json'? Takie "ParseError" sprawia, że brzmi to tak, jakby kompilator TS nie przeszedł przez ten plik. –
@DaveV Nie jestem pewien, co to jest kompilator TS. AFAIK 'ParseError' jest rzeczą Babel. – Rob