项目使用 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的介绍
文章来源: vue如何自我感觉良好地引入其他js文件