babel-loader
node_modules
. 您可以明确地说要在其中传输什么
但之后呢
@babel7.0.0
这似乎也不管用。
.babelrc
是在年引进的
@巴别塔7.0.0
.
根据我在正常情况下做的研究
节点\u模块
预期已传送
commonjs
umd
模块。可以由任何应用程序导入。在我的情况下,我的包/组件
es6
需要传输的模块。我的网页包失败是因为
巴别塔装载机
所以我决定用
@babel/cli
为了传输组件所在的每个包,我必须添加
巴别塔
与其他配置一起添加到我的组件包中,并使用
这是你的名字
scripts
在我的
package.json
"scripts": {
"start": "babel src --watch --out-dir dist --source-maps inline --copy-files --ignore spec.js,spec.jsx"
},
还有我的包.json在那之后看起来像这样
{
"name": "@pkg/components",
"version": "1.0.1",
"description": "a repository for react common components. may or may not be dependent on elements",
"main": "dist/index.js",
"author": "hannad rehman",
"license": "MIT",
"scripts": {
"start": "babel src --watch --out-dir dist --source-maps inline --copy-files --ignore spec.js,spec.jsx"
},
"dependencies": {
"@pkg/constants": "^1.0.1",
"@pkg/elements": "^1.0.1"
},
"peerDependencies": {
"prop-types": "^15.6.2",
"react": "^16.4.2",
"react-router-dom": "^4.3.1"
}
}
babel
有一个监视模式,它可以确保在发生变化时始终发生透明。
最后也是最重要的反应
HMR
更新
上面的解决方案确实有效,但几个月后,我在babel加载程序中使用include属性对其进行了更改
{
test: /\.js(x?)$/,
include: [/node_modules\/@pkg/],
use: [
'thread-loader',
{
loader: 'babel-loader',
options: {
cacheDirectory: true,
configFile: path.resolve(
__dirname,
'../../../../',
`${env.appConfig.folderSrc}/babel.config.js`,
),
},
},
],
}