$ node --version v5.7.1 $ npm --version 3.6.0
$ npm init -y $ npm install jquery --save $ npm install webpack --save-dev
var $ = require('jquery'); $('body').html('Hello');
而後在webpac.config.js文件中建立Webpack配置。Webpack配置就是Javascript,須要導入一個對象。javascript
module.exports = { entry: './src', output: { path: 'builds', filename: 'bundle.js', }, };
entry 告訴Webpack在你的應用中哪些文件是入口文件。這些就是最主要的文件,位於依賴樹的最上層。而後咱們告訴它編譯的打包文件放到builds文件夾下而且命名爲bundle.js。讓咱們來設置相應的index.html頁面:css
<!DOCTYPE html> <html> <head></head> <body> <h1>My title</h1> <a>Click me</a> <script src="builds/bundle.js"></script> </body> </html>
咱們來運行Webpack命令,咱們獲得了一些信息,它告訴咱們bundle.js編譯正確:html
$ webpack Hash: d41fc61f5b9d72c13744 Version: webpack 1.12.14 Time: 301ms Asset Size Chunks Chunk Names bundle.js 268 kB 0 [emitted] main [0] ./src/index.js 53 bytes {0} [built] + 1 hidden modules
這裏你能夠看到Webpack告訴你bundle.js包含了你的入口文件(index.js)以及有一個隱藏模塊。這個隱藏模塊就是jQuery,Webpack默認隱藏不是你的模塊。爲了查看全部被Webpack編譯以後隱藏的模塊,咱們能夠加上 --display-modules標記:java
$ webpack --display-modules bundle.js 268 kB 0 [emitted] main [0] ./src/index.js 53 bytes {0} [built] [1] ./~/jquery/dist/jquery.js 259 kB {0} [built]
熱更新---------------->這裏我走了不少彎路,感謝網友的解決方案,訪問路徑:http://blog.csdn.net/qq_16559905/article/details/54177581node
一、安裝完Node以後,爲了保證速度,須要使用淘寶鏡像,命令以下:react
(1)npm config set registry "http://registry.npm.taobao.org" (2)npm config list 能夠查看配置
2.安裝完nodejs以後,打開終端,執行命令:jquery
(1)npm install webpack -g //-g的意思是安裝全局的webpack,可是咱們實際的開發中還須要針對單個的項目進行webpack安裝,執行命令:
三、使用 npm init 初始化,生成 package.json 文件:執行命令:webpack
1. npm init 自定義建立package.json
2. npm init -yes 能夠建立默認的package.json
如今咱們的項目已經建立好了,接下來咱們來添加依賴包及插件web
(1) 局部安裝Webpack,執行命令:npm
npm install webpack --save-dev
(2)安裝React,–save 命令用於將包添加至 package.json 文件,執行命令:
npm install react react-dom react-router react-hot-loader css-loader jsx-loader html-webpack-plugin --save-dev
(3) 安裝babel插件,babel插件是webpack須要的加載器,若是沒有這幾個加載器咱們的jsx語法,和es2015語法就會報錯。
npm install babel-loader babel-core babel-preset-es2015 babel-preset-react babel-preset-stage-0 --save-dev
(4)安裝自動刷新熱更新服務,安裝webpack-dev-server執行命令:
npm install webpack-dev-server --save-dev
(5)在package.json文件中爲scripts添加,方便使用開啓服務命令:
"scripts": { "build": "webpack", "dev": "webpack-dev-server --devtool eval --progress --colors --content-base build" }
package.json所有文件附上:
{ "name": "tdip", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "build": "webpack", "dev": "webpack-dev-server --devtool eval --progress --colors --content-base build" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "babel-loader": "^7.1.2", "jquery": "^3.2.1" }, "devDependencies": { "babel-core": "^6.26.0", "babel-loader": "^7.1.2", "babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", "babel-preset-stage-0": "^6.24.1", "css-loader": "^0.28.7", "html-webpack-plugin": "^2.30.1", "jsx-loader": "^0.13.2", "react": "^16.0.0", "react-dom": "^16.0.0", "react-hot-loader": "^1.3.1", "react-router": "^4.2.0", "webpack": "^3.6.0", "webpack-dev-server": "^2.9.1" } }
安裝完命令以後,建立webpack的配置文件:webpack.config.js文件
webpack.config.js文件配置以下:
// module.exports = { // entry: __dirname + '/src', // output: { // path: __dirname + '/builds', // filename: 'bundle.js', // }, // }; var path = require('path'), webpack = require('webpack'), HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { entry: ['webpack/hot/dev-server', __dirname + '/src'], output: { path: __dirname + '/builds', filename: 'bundle.js' }, devServer: { inline: true, port: 8099 }, module: { loaders: [{ test: /\.js?$/, exclude: /(node_modules|bower_components)/, loader: 'babel-loader', query: { presets: ['es2015', 'react'] } }] }, plugins: [ new HtmlWebpackPlugin({ template: './index.html' }), new webpack.HotModuleReplacementPlugin() ] };
安裝完成以後運行命令
一、根目錄下執行命令,其中一個:
npm run build 線上目錄 npm run dev 開發目
2.瀏覽器直接訪問:
http://localhost:8099/index.html
附上項目結構