-
抽離css?
安裝
npm install extract-text-webpack-plugin
查看全部 -
.babelrc
{ ?"presets":[ ? "env" ?], ?"plugins":[ ? "transform-vue-jsx" ?] }查看全部 -
postcss.config.js
module.exports?=?{ plugins:?[ autoprefixer()??????? ] }查看全部 -
package.json
{ ??"name":?"daya", ??"version":?"1.0.0", ??"main":?"index.js", ??"scripts":?{ ????"test":?"echo?\"Error:?no?test?specified\"?&&?exit?1", ????"build":?"cross-env?NODE_ENV=production?webpack?--config?webpack.config.js", ????"dev":?"cross-env?NODE_ENV=development?webpack-dev-server?--config?webpack.config.js" ??}, ??"author":?"chenyajie", ??"license":?"ISC", ??"keywords":?[ ????"daya" ??], ??"description":?"", ??"dependencies":?{ ????"autoprefixer":?"^8.2.0", ????"babel-core":?"^6.26.0", ????"babel-helper-vue-jsx-merge-props":?"^2.0.3", ????"babel-loader":?"^7.1.4", ????"babel-plugin-syntax-jsx":?"^6.18.0", ????"babel-plugin-transform-vue-jsx":?"^3.7.0", ????"babel-preset-env":?"^1.6.1", ????"cross-env":?"^5.1.4", ????"css-loader":?"^0.28.11", ????"file-loader":?"^1.1.11", ????"html-webpack-plugin":?"^3.2.0", ????"js-loader":?"^0.1.1", ????"postcss-loader":?"^2.1.3", ????"style-loader":?"^0.20.3", ????"stylus":?"^0.54.5", ????"stylus-loader":?"^3.0.2", ????"url-loader":?"^1.0.1", ????"vue":?"^2.5.16", ????"vue-loader":?"^14.2.2", ????"vue-template-compiler":?"^2.5.16", ????"webpack":?"^4.5.0", ????"webpack-dev-server":?"^3.1.3" ??}, ??"devDependencies":?{ ????"webpack-cli":?"^2.0.14" ??} }查看全部 -
webpack.config.js
const?path?=?require("path"); const?HTMLPlugin?=?require('html-webpack-plugin') const?webpack?=?require("webpack") const?isDev?=?process.env.NODE_ENV?===?"development"; var?config?=?{ "target"?:?"web", "entry":?path.join(__dirname,?"src/index.js"), "output":?{ filename:?"bundle.js", path:?path.join(__dirname,?"dist"), }, mode:?"development", module:?{ rules:[ { test:?/\.vue$/, loader:?"vue-loader" }, { test:?/\.(js|jsx)$/, loader:?"babel-loader" }, { test:?/\.css$/, use:[ "style-loader", "css-loader" ] }, { test:?/\.styl$/, use:?[ "style-loader", 'css-loader', { loader:"postcss-loader", options:{ sourceMap:?true } }, "stylus-loader" ] }, { test:?/\.(jpg|png|gif|svg|jpeg)$/, use:[ { loader:?"url-loader", options:{ limit:?1024, name:'[name]-aaa.[ext]' } } ] } ] }, plugins:[ new?webpack.DefinePlugin({ 'process.env':{ NODE_ENV?:?isDev??'"development"'?:?'"production"' } }), new?HTMLPlugin() ] } if(isDev){ config.devtool?=?"#cheap-module-eval-source-map"; config.devServer?=?{ port:?8000, host:"0.0.0.0", overlay:{ errors:?true }, // historyFallback:?{?//?沒有映射的 // ? // }, hot:?true??//?熱加載,只渲染改動(dòng)過的 // open:?true??//?啟動(dòng)服務(wù)自動(dòng)打開瀏覽器 }; //?熱加載配置 config.plugins.push( new?webpack.HotModuleReplacementPlugin(), new?webpack.NoEmitOnErrorsPlugin() ); } module.exports??=?config查看全部 -
npm i postcss-loader autoprefixer babel-loader babel-core
查看全部 -
package.json
{ ??"name":?"daya", ??"version":?"1.0.0", ??"main":?"index.js", ??"scripts":?{ ????"test":?"echo?\"Error:?no?test?specified\"?&&?exit?1", ????"build":?"cross-env?NODE_ENV=production?webpack?--config?webpack.config.js", ????"dev":?"cross-env?NODE_ENV=development?webpack-dev-server?--config?webpack.config.js" ??}, ??"author":?"chenyajie", ??"license":?"ISC", ??"keywords":?[ ????"daya" ??], ??"description":?"", ??"dependencies":?{ ????"babel-loader":?"^7.1.4", ????"cross-env":?"^5.1.4", ????"css-loader":?"^0.28.11", ????"file-loader":?"^1.1.11", ????"html-webpack-plugin":?"^3.2.0", ????"js-loader":?"^0.1.1", ????"style-loader":?"^0.20.3", ????"stylus":?"^0.54.5", ????"stylus-loader":?"^3.0.2", ????"url-loader":?"^1.0.1", ????"vue":?"^2.5.16", ????"vue-loader":?"^14.2.2", ????"vue-template-compiler":?"^2.5.16", ????"webpack":?"^4.5.0", ????"webpack-dev-server":?"^3.1.3" ??}, ??"devDependencies":?{ ????"webpack-cli":?"^2.0.14" ??} }查看全部 -
//?webpack.config.js const?path?=?require("path"); const?HTMLPlugin?=?require('html-webpack-plugin') const?webpack?=?require("webpack") const?isDev?=?process.env.NODE_ENV?===?"development"; var?config?=?{ "target"?:?"web", "entry":?path.join(__dirname,?"src/index.js"), "output":?{ filename:?"bundle.js", path:?path.join(__dirname,?"dist"), }, mode:?"development", module:?{ rules:[ { test:?/\.vue$/, loader:?"vue-loader" }, { test:?/\.js$/, loader:?"babel-loader" }, { test:?/\.css$/, use:[ "style-loader", "css-loader" ] }, { test:?/\.styl$/, use:?[ "style-loader", 'css-loader', "stylus-loader" ] }, { test:?/\.(jpg|png|gif|svg|jpeg)$/, use:[ { loader:?"url-loader", options:{ limit:?1024, name:'[name]-aaa.[ext]' } } ] } ] }, plugins:[ new?webpack.DefinePlugin({ 'process.env':{ NODE_ENV?:?isDev??'"development"'?:?'"production"' } }), new?HTMLPlugin() ] } if(isDev){ config.devtool?=?"#cheap-module-eval-source-map"; config.devServer?=?{ port:?8000, host:"0.0.0.0", overlay:{ errors:?true }, // historyFallback:?{?//?沒有映射的 // ? // }, hot:?true??//?熱加載,只渲染改動(dòng)過的 // open:?true??//?啟動(dòng)服務(wù)自動(dòng)打開瀏覽器 }; //?熱加載配置 config.plugins.push( new?webpack.HotModuleReplacementPlugin(), new?webpack.NoEmitOnErrorsPlugin() ); } module.exports??=?config查看全部 -
const path = require("path");
module.exports = {
"entry": path.join(__dirname, "src/index.js"),
"output": {
filename: "bundle.js",
path: path.join(__dirname, "dist"),
},
mode: "development",
module: {
rules:[{
test: /\.vue$/,
loader: "vue-loader"
},
{
test: /\.js$/,
loader: "babel-loader"
},
{
test: /\.css$/,
use:[
"style-loader",
"css-loader"
]
},
{
test: /\.styl$/,
use: [
"style-loader",
'css-loader',
"stylus-loader"
]
},
{
test: /\.(jpg|png|gif|svg|jpeg)$/,
use:[
{
loader: "url-loader",
options:{
limit: 1024,
name:'[name]-aaa.[ext]'
}
}
]
}
]
}
}
查看全部 -
webpack打包各種靜態(tài)資源到一個(gè)加載類js里,從而操作這些資源
查看全部 -
將vue文件掛載到加載腳本節(jié)點(diǎn)上
查看全部 -
webpack打包前端資源,設(shè)置入口和出口,添加加載規(guī)則
查看全部 -
原來是高級課程,主要都是講技巧,果斷放棄了
好多知識(shí)不懂
查看全部 -
創(chuàng)建項(xiàng)目文件夾
查看全部 -
npm init
npm install webpack vue vue-loader --save-dev
npm install css=loader vue-template-compiler --save-dev
查看全部
舉報(bào)