vuecli创建uniapp出现错误

1. 问题描述

最近在使用vuecli创建uniapp的过程中,出现了错误,无法正常使用。具体错误如下:

ERROR TypeError: Cannot read property 'trim' of undefined

at normalizeOptions (/xxx/node_modules/@vue/cli-service/lib/util/resolveLoaderOptions.js:39:39)

at Object.resolveLoader (internal/modules/cjs/loader.js:587:5)

at Object.loader (/xxx/node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/dist/index.js:20:31)

at resolveLoader (/xxx/node_modules/webpack/lib/NormalModule.js:316:19)

at /xxx/node_modules/webpack/lib/NormalModule.js:358:3

at context.callback (/xxx/node_modules/webpack/lib/NormalModule.js:129:23)

at /xxx/node_modules/webpack/lib/NormalModule.js:476:14

at /xxx/node_modules/webpack/lib/NormalModule.js:570:5

at /xxx/node_modules/loader-runner/lib/LoaderRunner.js:399:11

at /xxx/node_modules/loader-runner/lib/LoaderRunner.js:251:18

at context.callback (/xxx/node_modules/loader-runner/lib/LoaderRunner.js:124:13)

at Promise.resolve.then.then.catch.err (/xxx/node_modules/@vue/cli-service/node_modules/enhanced-resolve/lib/Resolver.js:231:11)

at

2. 分析问题

从错误提示来看,问题出现在resolveLoaderOptions.js文件的第39行。经过查看该文件的代码,发现这个问题与相关的loader配置有关。在vuecli创建uniapp时,默认会引入一些loader,这些loader都需要进行一些相关的配置,比如ts-loader等。因此,我们需要对这些loader进行适当的配置。

3. 解决问题

要解决这个问题,有两种常见的方式:

3.1 修改loader配置

我们可以手动修改项目中的loader配置文件,对其中的loader进行适当的配置。打开项目目录下的vue.config.js文件,可以看到其中的loader配置:

module.exports = {

chainWebpack: config => {

config.module

.rule("ts")

.use("ts-loader")

.loader("ts-loader")

.tap(options => {

options = Object.assign(options, { transpileOnly: true });

return options;

});

}

};

可以看到,这里对ts-loader进行了配置,将transpileOnly选项设置为true。我们可以根据自己的实际情况,对相应的loader进行合适的配置,从而解决这个问题。

3.2 更新vuecli

如果手动修改loader配置不方便,我们也可以尝试更新vuecli,从而解决这个问题。在终端中运行以下命令来更新vuecli:

npm install -g @vue/cli

如果已经安装了vuecli,请先卸载之前的版本,再进行安装。安装完成后,重新创建uniapp应用程序,应该就可以正常使用了。

4. 总结

在使用vuecli创建uniapp时,如果遇到了上述问题,可以尝试手动调整loader配置或者更新vuecli版本。在解决问题的过程中,需要了解相应的loader配置和vuecli的相关知识,并对其进行灵活的运用。最后,希望本篇文章对大家有所帮助,谢谢!