我在aurelia-api和aurelia-authorization中遇到了同样的问题,因为我似乎无法在不被识别的情况下添加这些插件。在我的login.ts文件中,我添加了:
import {ValidationRules, ValidationController} from "aurelia-validation";
......它告诉我它无法找到模块aurelia验证。
我最近问了THIS问题然后跟着评论建议,但仍无济于事。
曾经找过类似的问题,但我发现的问题已经过时了。
这就是我所做的。
在boot.ts文件中添加了“aurelia-validation”作为插件,如下所示:
import "isomorphic-fetch";
import { Aurelia, PLATFORM } from "aurelia-framework";
import { HttpClient } from "aurelia-fetch-client";
import "bootstrap/dist/css/bootstrap.css";
import "bootstrap";
declare const IS_DEV_BUILD: boolean; // The value is supplied by Webpack during the build
export function configure(aurelia: Aurelia) {
aurelia.use
.standardConfiguration()
.plugin(PLATFORM.moduleName("aurelia-validation")); // Here!
if (IS_DEV_BUILD) {
aurelia.use.developmentLogging();
}
new HttpClient().configure(config => {
const baseUrl = document.getElementsByTagName("base")[0].href;
config.withBaseUrl(baseUrl);
});
aurelia
.start()
.then(() => aurelia.setRoot(PLATFORM.moduleName("app/app/app")));
正如您所看到的,我使用过:
.plugin(PLATFORM.moduleName("aurelia-validation"));
这是在将“aurelia-validation”添加到package.json文件然后运行yarn之后。
我是否还需要将此添加到webpack?
你如何添加这些插件?
根据webpack的配置方式,您可能只需要将其添加到webpack.config.vendor.js文件的vendor部分,如下所示:
module.exports = ({ prod } = {}) => {
...
return [{
...,
entry: {
vendor: [
...
'aurelia-validation',
...
],
},
...
}]
};
然后编译vendor.js文件,如果在您的构建过程中没有使用以下内容自动完成:
node node_modules/webpack/bin/webpack.js --config webpack.config.vendor.js