前段时间,在做报表功能的时候,顺带的要实现报表导出的功能,进而用到了xlsx-style组件,然后,在程序启动的时候出现了错误,显示:not found ./cptable in node_modules/xlsx-style/dist/cpexcel.js,

发现问题所在是在文件:\node_modules\xlsx-style\dist\cpexcel.js 807行   

即 var cpt = require('./cpt' + 'able'); 此时,把这行代码修改为  var cpt = cptable  

修改完成后,重新运行就不报错啦~

然而,过了些天,在我把依赖包node_modules删除后,重新npm install 后,重新运行项目,发现报错信息和之前一样:This relative module was not found: ./cptable in ./node_modules/xlsx-style,

所以,我之前修改的只是本地文件,一但依赖包重新下载,cpexcel.js文件就要重新修改了,这样子太麻烦了,那就只能修改配置文件了,方法如下:

修改文件:webpack.base.conf.js 

module.exports = {
    externals: [ {
         './cptable': 'var cptable' 
    }]
}

然而,因为vue-cli升级成3.0以上版本后,文件webpack.base.conf.js 已经了,所以,修改配置需要在

文件vue.config.js里面添加,但不像webpack.base.conf.js 文件的内容一样,直接添加上面的内容,

这样子添加也是会报错的:ERROR Invalid options in vue.config.js: “externals“ is not allowed,

意思是vue.config.js里面没有这个字段,可以先参考官网:https://cli.vuejs.org/zh/config/#lintonsave

查看官网,vue.config.js确实是没有这个字段的,但是存在一个configureWebpack的属性,如果要配置webpack相关的属性,就可以在这个属性里面添加了,相关配置如下:

module.exports = {
   configureWebpack(){
        return{
            externals: [ {
                 './cptable': 'var cptable'
            }]
        }
    }
}
添加完后,重新运行就可以啦~

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐