標籤:end 安裝 執行 style sdn targe plugins min message
http://blog.csdn.net/mafan121/article/details/71211922
1.使用webstrom建立一個空的項目
2.在項目下建立檔案夾和檔案
a.建立css檔案夾存放index.css檔案,檔案內容如下:
[css] view plain copy print?
- p{
- font-size: 24px;
- padding:0 100px;
- color:blue;
- }
- p:nth-of-type(2) {
- font-size: 30px;
- text-align: center;
- color:black;
- font-family:"幼圓";
- }
- p:nth-of-type(3) {
- color: red;
- font-weight:bold;
- text-align: right;
- }
b.建立index檔案夾,存放index.html檔案,檔案內容如下:
[javascript] view plain copy print?
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>myFirstDemo</title>
- </head>
- <body>
- <div id="app"></div>
- <script src="bundle.js"></script>
- </body>
- </html>
c.建立data檔案夾存放index.json檔案,檔案內容如下:
[javascript] view plain copy print?
- {
- "name":"hello webpack",
- "content":"this is my first demo",
- "start":"Ready Go!"
- }
d.建立jsproject檔案夾存放createdom.js和entry.js檔案。
entry.js
[javascript] view plain copy print?
- require(‘./../css/index.css‘);
- var createdom = require(‘./createdom.js‘);
- document.getElementById(‘app‘).appendChild(createdom());
createdom.js
[javascript] view plain copy print?
- var message=require(‘./../data/index.json‘);
- module.exports = function() {
- var greet=document.createElement(‘div‘);
- greet.innerHTML="<p>"+message.name+"</p>"+"<p>"+message.content+"</p>"+"<p>"+message.start+"</p>";
- return greet;
- };
3.命令操作
在webstorm的Terminal視窗執行如下命令:
a.產生依賴檔案package.json(預設會在根目錄下產生)
cnpm init
b.依次安裝相關依賴(安裝後項目根目錄下會出現node_modules檔案夾,下麵包含下載的依賴)
(1)cnpm intsall webpack -g
(2)cnpm install --save-dev webpack
(3)cnpm install --save-dev css-loader
(4)cnpm install --save-dev style-loader
(5)cnpm install --save-dev json-loader
(6)cnpm install --save-dev webpack-dev-server
4.配置webpack.config.js檔案
在項目根路徑下建立webpack.config.js檔案,檔案內容為:
[javascript] view plain copy print?
- var webpack = require(‘webpack‘);
- module.exports = {
- //2、進出口檔案配置
- entry:__dirname+‘/jsproject/entry.js‘,//指定的入口檔案,“__dirname”是node.js中的一個全域變數,它指向當前執行指令碼所在的目錄
- output: {//輸出
- path: __dirname+‘/index‘,//輸出路徑
- filename: ‘bundle.js‘//輸出檔案名
- },
- module: {//在設定檔裡添加載入器說明,指明每種檔案需要什麼載入器處理
- loaders: [
- {//json載入器
- test: /\.json$/,
- loader: "json-loader"//注意-loader不能省略,網上說能省略,經測試編譯會報錯
- },
- {//5、編譯es6配置
- test:/\.js$/,
- exclude:/node_modules/,
- loader:‘babel-loader‘,//在webpack的module部分的loaders裡進行配置即可
- query:{
- presets:[‘es2015‘,‘react‘]
- }
- },
- {//3、CSS-loader
- test:/\.css$/,
- loader:‘style-loader!css-loader‘//添加對樣式表的處理
- }
-
- ]
- },
- //4、伺服器依賴包配置
- devServer: {//注意:網上很多都有colors屬性,但是實際上的webpack2.x已經不支援該屬性了
- contentBase: "./index",//本機伺服器所載入的頁面所在的目錄
- historyApiFallback: true,//不跳轉
- inline: true//即時重新整理
- //hot:true,//不要書寫該屬性,否則瀏覽器無法自動更新
- //publicPath:"/asses/",//設定該屬性後,webpack-dev-server會相對於該路徑
- },
- plugins:[]//外掛程式
- }
此時的檔案目錄為:
5.啟動服務
在Terminal中輸入:
webpack
執行完成後,輸入:
webpack-dev-server
然後在瀏覽器中輸入:http://localhost:8080/
此時可以看到效果了,而且更新代碼。瀏覽器也會即時重新整理。
webstorm+webpack建立項目