我正在尝试在Vue项目中更改iView的主题。我按照此链接中找到的步骤进行操作:
https://www.iviewui.com/docs/guide/theme-en
我在主项目文件夹中创建了一个名为my-theme
的文件夹。在其中,我有一个名为index.less
的文件,其中包含主题的样式。我还使用以下命令安装了less-loader
npm install less-loader --save-dev
然后,我将主题导入到main.js
文件中,如下所示:
import iView from 'iview';
import '../my-theme/index.less';
Vue.use(iView);
但是,当我尝试加载项目时,出现以下错误:
Failed to compile.
./my-theme/index.less (./node_modules/css-loader??ref--10-oneOf-3-1!./node_modules/postcss-loader/src??ref--10-oneOf-3-2!./node_modules/less-loader/dist/cjs.js??ref--10-oneOf-3-3!./my-theme/index.less)
Module build failed (from ./node_modules/less-loader/dist/cjs.js):
Error: Cannot find module 'less'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/Users/myusername/myapp/node_modules/less-loader/dist/index.js:8:36)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/Users/myusername/myapp/node_modules/less-loader/dist/cjs.js:3:18)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
如何解决此问题?感谢您的帮助。
更新
我还使用less
安装了npm install less --save
。现在,我收到此错误:
Failed to compile.
./my-theme/index.less (./node_modules/css-loader??ref--10-oneOf-3-1!./node_modules/postcss-loader/src??ref--10-oneOf-3-2!./node_modules/less-loader/dist/cjs.js??ref--10-oneOf-3-3!./my-theme/index.less)
Module build failed (from ./node_modules/less-loader/dist/cjs.js):
// https://github.com/ant-design/ant-motion/issues/44
.bezierEasingMixin();
^
Inline JavaScript is not enabled. Is it set in your options?
in /Users/myusername/myapp/node_modules/iview/src/styles/color/bezierEasing.less (line 110, column 0)
答案 0 :(得分:0)
您需要在vue.config.js中启用javascript loaderOptions
如果项目的根文件夹中没有 vue.config.js 文件,请创建该文件并粘贴以下代码:
module.exports = {
css: {
loaderOptions: {
less: {
javascriptEnabled: true
}
}
}
};
否则,您只需将此代码放入 vue.config.js 文件中。您的文件现在看起来像这样:
module.exports = {
...// other options
...
css: {
loaderOptions: {
less: {
javascriptEnabled: true
}
}
}
...
...
};