私はwebpackを初めて使用して反応し、ドキュメントを確認して、動作する例を作成しました。残念ながら、行き詰まり、続行できません。問題は、バンドルされたファイルが生成されないことです。私が作成したファイルは
package.json
{
"name": "rohith",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "webpack-dev-server"
},
"author": "",
"license": "ISC",
"dependencies": {
"react": "^15.4.1",
"react-dom": "^15.4.1",
"webpack": "^1.13.3",
"webpack-dev-server": "^1.16.2"
}
}
webpack.config.js
module.export = {
entry : './main.js',
output : {
path : './',
filename : 'index.js'
},
devServer : {
inline : true,
port : 3333
},
module : {
loaders : [
{
test : /\.js$/,
exclude : /node_modules/,
loader : 'babel',
query : {
presets : ['es2015','react']
}
}
]
}
}
App.js
import React from 'react';
class App extends React.Component {
render(){
return <div>Hello</div>
}
}
export default App
main.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(<App />,document.getElementById('app'));
index.html
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "UTF-8">
<title>Setup</title>
</head>
<body>
<div id = "app"></div>
<script src ="index.js"></script>
</body>
</html>
バンドルは有効ですが、index.jsが生成されません。ローカルホスト3333では実行できません
ありがとう、
Webpack.config.jsで、module.exports
の代わりにmodule.export
を使用します。 出力ファイル名が構成されていませんWebpackのエラー を参照してください。package.json
にはいくつかの依存関係がないことにも注意してください。動作する更新されたpackage.json
は次のとおりです。
{
"name": "rohith",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "webpack-dev-server"
},
"author": "",
"license": "ISC",
"dependencies": {
"react": "^15.4.1",
"react-dom": "^15.4.1",
"webpack": "^1.13.3",
"webpack-dev-server": "^1.16.2"
},
"devDependencies": {
"babel": "^6.5.2",
"babel-core": "^6.18.2",
"babel-loader": "^6.2.8",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0"
}
}
問題は、絶対出力パスを指定していないことだと思います。
これを試して:
var path = require('path');
module.exports = {
entry : './main.js',
output : {
path : path.join(__dirname, './'),
filename : 'index.js'
},
devServer : {
inline : true,
port : 3333
},
module : {
loaders : [
{
test : /\.js$/,
exclude : /node_modules/,
loader : 'babel',
query : {
presets : ['es2015','react']
}
}
]
}
}
それが役に立てば幸い :)
スクリプトオブジェクトを以下に置き換えます。
"scripts": {
"start": "npm run build",
"build": "webpack -p && webpack-dev-server"
},
次に、$ npm start
を実行します
私にとって問題は、その「スクリプト」の下にあるpackage.jsonにありました。
修正は次のとおりです。
Package.jsonファイル内で、スクリプトの下に以下を追加します。
「スクリプト」:{
"start": "webpack-dev-server"、
"build": "webpack -p"}
最初にビルドを実行してから開始します。
ヤーンビルド
最初にビルドすると、bundle.jsファイルが作成され、その後、次のコマンドを使用できます。
ヤーンスタート
出力ファイル(bundle.js)がなく、ビルドが成功した場合
_Hash: 77a20ba03ab962a1f5be
Version: webpack 4.41.0
Time: 1039ms
Built at: 10/04/2019 5:24:48 PM
Asset Size Chunks Chunk Names
main.js 1.09 MiB main [emitted] main
Entrypoint main = main.js
[./react_rest/frontend/src/index.js] 35 bytes {main} [built]
+ 12 hidden modules
_
webpack:
_module.exports = {
entry: './react_rest/frontend/src/index.js',
module: {
rules: [{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
}]
},
output: {
filename: 'main.js'
}
};
_
var path = require('path');
を使用して出力を割り当ててみてくださいディレクトリ
_var path = require('path');
module.exports = {
entry: './react_rest/frontend/src/index.js',
module: {
rules: [{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
}]
},
output: {
path: path.join(__dirname,'./react_rest/frontend/static/frontend/'),
filename: 'main.js'
}
};
_