项目使用 vue-cli + webpack技术做开发,项目中有时需要引入非nodejs模块的js文件。
经过摸索,采用下面的方式引入:
在build/webpack.base.conf.js里面的module.exports下加入:
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
'pinyin':resolve('static/CnPy.js'), // 引入自己定义的一个js
'jquery':resolve('static/jquery.js'), // 引入jquery
},
},
如果希望这个js里面的函数可以全局使用,则接着加入:
plugins: [
new webpack.optimize.CommonsChunkPlugin('common.js'),
new webpack.ProvidePlugin({
jQuery: "jquery",
$: "jquery"
})
],
如果提示webpack未定义,则应当在文件前面引入webpack:
const webpack = require('webpack')
使用时引入方法:
// import $ from "jquery"; // 如果配置全局使用就不用引入了
import {pinyin} from "pinyin"; // 自己写的js文件引入时带个`{}`是必要的
如果引入发现找不到函数,则还需要完成一个工作,那就是在要引入的js文件里加代码暴露出要引入的函数:
export {
Pinyin
}
上述export语法不仅仅是这一个写法,可参考:https://www.cnblogs.com/libin-1/p/7127481.html的介绍