私は2つのノードパッケージをまとめて作業しています。それらをライブラリとコンシューマと呼んでみましょう。ライブラリは、ブラウザ内にたくさんのものをレンダリングする責任があります。すべてのコンシューマーはimport Library from 'library'
であり、Library(someConfigHere)
と呼びます。基本的には、ライブラリがブラウザで期待していることを確認するためのテストです。依存関係を変換するためにBrowserifyを強制しますか?
私はnpm link
ライブラリをコンシューマにコンバートしました.Browserify on Consumerを実行しようとしていますが、このエラーは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