12. Vue搭建本地服务

2022-11-30 0 261

一.构筑邻近地区服务项目器

邻近地区服务项目能提升合作开发工作效率. webpack不须要每天都装箱,就能看见修正后的效用.邻近地区服务项目器如前所述node.js构筑,外部采用三十express架构.能同时实现让应用程序手动创下的机能.

1.加装邻近地区服务项目组件

npm install –save-dev webpack-dev-

–save-dev:邻近地区服务项目多于在合作开发自然环境的这时候才会采用,因此,他们以dev商业模式加装,装箱的这时候不能被装箱webpack-dev-:那个版是Vue2相关联的版.加装的这时候可能会报极度

12. Vue搭建本地服务

那个难题原因在于我是mac本,没加装Xcode,他们继续执行上面的指示加装呵呵xcode的应用程序就能了

继续执行上面的指示,输出公钥sudo rm -rf $(xcode-select -print-path)

加装Xcode应用程序sudo xcode-select –install

接着在继续执行npm install –save-dev webpack-dev-就获得成功了.

2.实用性webpack.config.js

devServer:{ contentBase:”./dist”, inline: true}

contentBase:为哪两个实用性文件提供更多邻近地区服务项目,预设是根实用性文件port:freenodeinline:网页动态创下historyApiFallback:在SPA网页中,倚赖HTML5的history商业模式3.实用性package.json

“scripts”:{ “test”:”echo \”Error: no test specified\”&& exit 1″,”build”:”webpack”,”dev”:”webpack-dev-server”},

这句话的含义是,将邻近地区服务项目交由webpack来管理.

4.启动邻近地区服务项目

npm run dev

启动获得成功!

12. Vue搭建本地服务

他们还能启动服务项目后直接打开应用程序

能在指示行后面加两个–open

“dev”:”webpack-dev-server –open”

二.服务项目实用性文件抽离

为了能够更好的管理实用性文件,他们将实用性文件进行分离.

抽离的原则是:合作开发自然环境的实用性放在两个文件,须要装箱到线上的实用性放在两个文件,这样管理起来更清晰,更方便.

第一步:创建两个目录build,接着在里面创建三个文件

1. base.config.js

2. dev.config.js

3. prod.config.js

12. Vue搭建本地服务

第二步:把webpack.config.js中的内容

公共的部分拷贝到base.config.js中.合作开发自然环境的实用性拷贝到dev.config.js中须要构建的部分拷贝到prod.config.js中base.config.js

const path = require(“path”)const webpack = require(“webpack”)const HtmlWebpackPlugin = require(“html-webpack-plugin”)const UglifyJsWebpackPlugin = require(“uglifyjs-webpack-plugin”)module.exports={//入口 entry:”./src/main.js”, output:{ path: path.resolve(dirname,dist), filename:”bundle.js”,//publicPath:”dist/”}, module:{ rules:[ { test:/\.css$/, use:[style-loader,css-loader] },{ test:/\.less$/, use:[{ loader:”style-loader”// creates style nodes from JS strings },{ loader:”css-loader”// translates CSS into CommonJS },{ loader:”less-loader”// compiles Less to CSS }]},{ test:/\.(pngjpggifjpeg)$/, use:[ { loader:url-loader, options:{ //当加载的图片,小于limit时,会将图片编译成base64字符串形式.—不须要文件,因为他是两个base64字符串//当加载的图片,大于limit是,须要采用file-loader组件来加载.—当文件来处理,就须要装箱成文件,须要file-loader //这是加载的文件目录是根目录,结果找不到文件,因此也不显示,他们能在output位置增加publicPath:”dist/”这样,所有的路径类的都会加上那个路径 limit:13000,} }]},{ test:/\.vue$/, use:[vue-loader]} ]}, resolve:{ alias:{ vue$:vue/dist/vue.esm.js} }, plugins:[ //增加版权信息new webpack.BannerPlugin(@author lxl @data 2021-03-03@desc *****),//装箱index.html到dist中new HtmlWebpackPlugin({ template:”index.html”}),]}

dev.config.js

module.exports={ devServer:{ contentBase:”./dist”, inline: true }}

prod.config.js

module.exports={ plugins:[ //压缩js文件–合作开发阶段,不要压缩new UglifyJsWebpackPlugin()]}

第三步:组合实用性文件

现在原来的两个webpack.config.js实用性文件变成了三个实用性文件.

合作开发自然环境采用: base.config.js 和 dev.config.js

线上自然环境采用: base.config.js 和 prod.config.js

那么,导入配的这时候,如何将其合并呢?

他们须要加装两个应用程序webpack-merge.那个应用程序能帮助他们将两个实用性文件进行合并

npm install webpack-

接着在dev.config.js和prod.config.js中引入base.config.js.来看看引入后的文件

dev.config.js

const webpackMerge = require(“webpack-merge”) const baseconfig = require(“./base.config”)module.exports =webpackMerge(baseconfig,{ devServer:{ contentBase:”./dist”, inline: true }})

prod.config.js

const UglifyJsWebpackPlugin = require(“uglifyjs-webpack-plugin”)const webpackMerge = require(“webpack-merge”) const baseConfig = require(“./base.config”)module.exports = webpackMerge(baseConfig,{ plugins:[ //压缩js文件–合作开发阶段,不要压缩new UglifyJsWebpackPlugin()]})

在这里引入了webpackMerge的包,接着采用webpackMerge(实用性文件1,实用性文件2),将两个实用性文件合并

第三步:接着修正输出文件的路径

因为他们的实用性文件目录修正了,因此须要重新设置装箱的输出路径

修正base.config.js

module.exports={//入口 entry:”./src/main.js”, output:{ path: path.resolve(dirname,dist), filename:”bundle.js”,//publicPath:”dist/”},….}

第四步:在package.json中指定实用性文件

预设读取的配置文件是webpack.config.js,现在他们定义了自己的实用性文件,因此,须要指定读取实用性文件

修正package.json

{“name”:”meet”,”version”:”1.0.0″,”description”:””,”main”:”webpack.config.js”,”scripts”:{ “test”:”echo \”Error: no test specified\”&& exit 1″,”build”:”webpack –config ./build/prod.config.js”,”dev”:”webpack-dev-server –open –config ./build/dev.config.js”},”author”:””,”license”:”ISC”,”devDependencies”:{ “css-loader”:”^2.1.1″,”file-loader”:”^2.0.0″,”html-webpack-plugin”:”^3.2.0″,”less”:”^3.9.0″,”less-loader”:”^4.1.0″,”style-loader”:”^2.0.0″,”uglifyjs-webpack-plugin”:”^1.1.1″,”url-loader”:”^2.3.0″,”vue-loader”:”^13.0.0″,”vue-template-compiler”:”^2.6.12″,”webpack”:”^3.6.0″,”webpack-dev-server”:”^2.9.1″},”dependencies”:{ “vue”:”^2.6.12″}}

通过–config指定读取的实用性文件

“build”:”webpack –config ./build/prod.config.js”,”dev”:”webpack-dev-server –open –config ./build/dev.config.js”

第五步:删除webpack.config.js

第六步:构建项目并运行

npm run build

接着运行项目

npm run dev

文章转载自:https://www.cnblogs.com/ITPower/p/14478529.html

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务