項目使用 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的介紹