总结一下 laravel 环境整合 cube-ui 组件的完整过程
首先确保 npm run watch-poll 这条命令可以正常执行,之后再进行如下操作:
1、执行命令【npm i -S cube-ui】安装 cube-ui;
2、执行命令【npm i -D stylus stylus-loader】安装依赖包(装过的重装也无妨);
3、执行命令【npm i -D webpack-transform-modules-plugin@0.4】安装插件;
4、手动修改 package.json 文件,添加以下代码
"transformModules": {
"cube-ui": {
"transform": "cube-ui/lib/${member}",
"kebabCase": true,
"style": {
"ignore": ["create-api", "better-scroll", "locale"]
}
}
}
5、修改webpack.mix.js
这个配置文件,末尾添加如下代码
let TransformModulesPlugin = require('webpack-transform-modules-plugin')
mix.webpackConfig({
resolve: {
alias: {
'cube-ui': 'cube-ui/lib'
}
},
plugins: [
new TransformModulesPlugin()
]
})
6、在resources/assets/js/app.js文件中使用cube
import Cube from 'cube-ui'
Vue.use(Cube)
7、执行命令【npm run watch-poll】编译吧!
测试环境如下:
Win7 64位
Laravel Framework 5.5.1
Vue 2.1.10
npm 6.4.1
node v10.15.1
文件 package.json 截图如下
如果碰到错误 TypeError: jsConf.push is not a function
这可能是因为安装插件的时候没有指定版本号,或者版本号不对。比如npm i -D webpack-transform-modules-plugin
这条命令没有指定版本号,电脑有时竟会安装 0.3.5 的版本(并非最新版)。经测试发现:0.3.x系列的版本在win7里面会报错;0.2.1的版本及0.4.x系列的版本运行正常。所以在第3步安装插件的时候明确指定了0.4版的版本号 webpack-transform-modules-plugin@0.4
推荐文章: