Closed easonyq closed 6 years ago
在 MIP 开发初期就使用 rollup 进行开发和构建。但随着开发的深入,我们发现 rollup 有几个(暂时)无法解决的缺点:
@import 'xxxx'
基于以上三点(尤其是最后一点),我还是打算改成 webpack。但除了编写一份 webpack 配置之外,对源代码也有需要修改的地方,这里进行记录:
代码中的 '__VERSION__' 需要改成 __VERSION__。(去掉引号)
'__VERSION__'
__VERSION__
rollup 中使用的是 rollup-plugin-replace 进行替换,与之对应的是 webpack 的 webpack.DefinePlugin。但 有一个差别,即 webpack 需要替换的内容不应该留字符串,而应该留原始代码,因此这里必须对代码进行修改。
rollup-plugin-replace
webpack.DefinePlugin
vue 中 less 的引用路径需要基于当前目录,而不是根目录。这原本是为了解决 rollup 的一个问题,现在只是恢复正常状态。
rollup 的配置暂时还保留着,命令修改为 npm run dev:rollupDist 和 npm run dev:rollupServer,而 npm run dev 改为 webpack 的命令,构建 JS 和启动服务器合并在一起。
npm run dev:rollupDist
npm run dev:rollupServer
npm run dev
所有改动在 webpack 分支上。
已经合并到 master 分支。
后续万一需要还原,恢复上述两处代码改动,否则 rollup 可能会报错。
在 MIP 开发初期就使用 rollup 进行开发和构建。但随着开发的深入,我们发现 rollup 有几个(暂时)无法解决的缺点:
@import 'xxxx'
的路径 必须要从根目录开始计算,而不是当前目录。这个是有悖常规开发习惯的基于以上三点(尤其是最后一点),我还是打算改成 webpack。但除了编写一份 webpack 配置之外,对源代码也有需要修改的地方,这里进行记录:
代码中的
'__VERSION__'
需要改成__VERSION__
。(去掉引号)rollup 中使用的是
rollup-plugin-replace
进行替换,与之对应的是 webpack 的webpack.DefinePlugin
。但 有一个差别,即 webpack 需要替换的内容不应该留字符串,而应该留原始代码,因此这里必须对代码进行修改。vue 中 less 的引用路径需要基于当前目录,而不是根目录。这原本是为了解决 rollup 的一个问题,现在只是恢复正常状态。
rollup 的配置暂时还保留着,命令修改为
npm run dev:rollupDist
和npm run dev:rollupServer
,而npm run dev
改为 webpack 的命令,构建 JS 和启动服务器合并在一起。所有改动在 webpack 分支上。