我们有一个相当大的ASP.Net Core 2.0应用程序,并且为了与其他项目进行标准化,已经选择迁移到Webpack而不是Gulp。我想要做的是从几个文件中构建一个react组件。 '要求'语句链以group-list-entrypoint.js开头,已设置为Webpack的Entry。首先,webpack.config.js文件:
var createReactGroupListTable = {
mode: 'development',
devtool: 'source-map',
entry: {
group_list_table: "./scripts/project/group-list-entrypoint.js"
},
output: {
path: path.join(__dirname, 'wwwroot/lib/react'),
filename: "[name].js"
},
module: {
rules: [
{ test: /\.js?$/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-react', '@babel/preset-env'] } } }
]
}
};
module.exports = [ createReactGroupListTable ];
接下来,package.json:
{
"name": "-",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"npm": "^5.8.0"
},
"devDependencies": {
"@babel/core": "^7.0.0-beta.44",
"@babel/preset-env": "^7.0.0-beta.44",
"@babel/preset-react": "^7.0.0-beta.44",
"babel-loader": "^7.1.4",
"copy-webpack-plugin": "^4.5.1",
"css-loader": "^0.28.11",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"react": "^16.3.1",
"react-dom": "^16.3.1",
"style-loader": "^0.20.3",
"url-loader": "^1.0.1",
"webpack": "^4.5.0",
"webpack-cli": "^2.0.14"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"wbp": "webpack"
},
"keywords": [],
"author": "",
"license": "ISC"
}
当然我需要帮助的问题 - npm报道 模块构建失败:错误:需要Babel" ^ 7.0.0-0",但加载了" 6.26.0"。我还将提供堆栈跟踪:
ERROR in ./scripts/project/group-list-entrypoint.js
Module build failed: Error: Requires Babel "^7.0.0-0", but was loaded with "6.26.0". If you are sure you have a compatible version of @babel/core, it is likely that something in your build process is loading the wrong version. Inspect the stack trace of this error to look for the first entry that doesn't mention "@babel/core" or "babel-core" to see what is calling Babel. (While processing preset: "C:\\Users\\pan.sotnik\\source\\repos\\Project\\Project\\node_modules\\@babel\\preset-react\\lib\\index.js")
at throwVersionError (C:\Users\pan.sotnik\source\repos\Project\Project\node_modules\@babel\helper-plugin-utils\lib\index.js:64:11)
at Object.assertVersion (C:\Users\pan.sotnik\source\repos\Project\Project\node_modules\@babel\helper-plugin-utils\lib\index.js:13:11)
at C:\Users\pan.sotnik\source\repos\Project\Project\node_modules\@babel\preset-react\lib\index.js:71:7
at C:\Users\pan.sotnik\source\repos\Project\Project\node_modules\@babel\helper-plugin-utils\lib\index.js:18:12
at C:\Users\pan.sotnik\source\repos\Project\Project\node_modules\babel-core\lib\transformation\file\options\option-manager.js:317:46
at Array.map (<anonymous>)
at OptionManager.resolvePresets (C:\Users\pan.sotnik\source\repos\Project\Project\node_modules\babel-core\lib\transformation\file\options\option-manager.js:275:20)
at OptionManager.mergePresets (C:\Users\pan.sotnik\source\repos\Project\Project\node_modules\babel-core\lib\transformation\file\options\option-manager.js:264:10)
at OptionManager.mergeOptions (C:\Users\pan.sotnik\source\repos\Project\Project\node_modules\babel-core\lib\transformation\file\options\option-manager.js:249:14)
at OptionManager.init (C:\Users\pan.sotnik\source\repos\Project\Project\node_modules\babel-core\lib\transformation\file\options\option-manager.js:368:12)
at File.initOptions (C:\Users\pan.sotnik\source\repos\Project\Project\node_modules\babel-core\lib\transformation\file\index.js:212:65)
at new File (C:\Users\pan.sotnik\source\repos\Project\Project\node_modules\babel-core\lib\transformation\file\index.js:135:24)
at Pipeline.transform (C:\Users\pan.sotnik\source\repos\Project\Project\node_modules\babel-core\lib\transformation\pipeline.js:46:16)
at transpile (C:\Users\pan.sotnik\source\repos\Project\Project\node_modules\babel-loader\lib\index.js:50:20)
at Object.module.exports (C:\Users\pan.sotnik\source\repos\Project\Project\node_modules\babel-loader\lib\index.js:173:20)
感谢您提前提供任何帮助。
答案 0 :(得分:1)
您的babel-loader
版本使用了babel 6.您需要预先发布的"8.x"
版本才能使用babel 7。