这是我参与更文挑战的第 13 天,活动详情查看: 更文挑战html
Lynne,一个能哭爱笑永远少女心的前端开发工程师。身处互联网浪潮之中,热爱生活与技术。前端
在实际开发过程当中,咱们确定要运行代码,查看页面,这时有个本地服务器就很重要,这样能够调试代码。node
在开发环境咱们须要sourcemap开启,配置热更新和本地服务,在生产环境咱们须要sourcemap关闭,不须要热更新和本地服务,须要代码压缩等,因此须要区分。web
将rollup.config.js拆分红两个rollup.config.dev.js和rollup.config.build.jsnpm
修改 package.json 中的打包命名便可。json
固然也要记得更新rollup.config.js文件中的引用文件路径!!浏览器
最后在package.json中配置命名(这里作了修改,区分了开发环境和生产环境)服务器
本地服务器 + source-map + 热更新markdown
rollup-plugin-serve or rollup-plugin-devkoa
这两个插件相比:
先来安装一个插件开启本地服务器
安装rollup-plugin-serve or rollup-plugin-dev
npm install rollup-plugin-serve --save-dev
or
npm install rollup-plugin0dev --save-dev
复制代码
安装rollup-plugin-livereload插件
npm install rollup-plugin-livereload --save-dev
复制代码
在开发环境的rollup.config.dev.js中配置插件中配置rollup-plugin-livereload() 便可。
在rollup.config.dev.js的打包输出 output 中配置 sourcemap: true,这样调试代码会更方便。
import commonjs from '@rollup/plugin-commonjs';
import resolve from '@rollup/plugin-node-resolve';
import json from 'rollup-plugin-json';
import pkg from '../package.json'; // 引用文件路径要记得修改!!
import livereload from 'rollup-plugin-livereload'
import serve from 'rollup-plugin-serve'
export default [
{
input: pkg.main,
output: [
{
name: 'W',
file: pkg.browser,
format: 'umd',
sourcemap: true,
}
],
plugins: [
resolve(), // so Rollup can find `ms`
commonjs(), // so Rollup can convert `ms` to an ES module
json(), // so Rollup can read file `.json`
livereload(),
serve({
open:true,
port: 8082,
contentBase: ''
})
]
}
];
复制代码
在根目录下建一个index.html文件来引用js类库,npm run dev
便可自动打开浏览器页面。
生产环境下不须要以上配置,主要须要代码压缩,安装插件:
import { terser } from "rollup-plugin-terser";
复制代码
开发环境配置插件。
export default [
{
input: pkg.main,
output: [
{
name: 'W',
file: pkg.browser,
format: 'umd'
}
],
plugins: [
resolve(), // so Rollup can find `ms`
commonjs(), // so Rollup can convert `ms` to an ES module
json(), // so Rollup can read file `.json`
terser() // so minify
]
}
];
复制代码
区分生产环境和开发环境可以帮助咱们更好地开发,尤为是在开发环境下实现本地开发的便捷开发工具可以提升开发效率。