【发布时间】:2018-06-06 18:53:54
【问题描述】:
我正在尝试调用 PHP 文件而不是 HTML 文件作为 Angular 组件的 templateUrl。
...
@Component({
selector: 'app-register-form',
templateUrl: require('php-loader?./register-form.component.php'),
styleUrls: ['./register-form.component.css']
})
export class RegisterFormComponent implements OnInit {
...
当我运行ng serve 时,它会抛出以下警告:
WARNING in ./app/register-form/register-form.component.ts
40:18-78 Critical dependency: the request of a dependency is an expression
at CommonJsRequireContextDependency.getWarnings (/Users/pranav/Desktop/angular-first-project/IATutors/node_modules/webpack/lib/dependencies/ContextDependency.js:39:18)
at Compilation.reportDependencyErrorsAndWarnings (/Users/pranav/Desktop/angular-first-project/IATutors/node_modules/webpack/lib/Compilation.js:701:24)
at Compilation.finish (/Users/pranav/Desktop/angular-first-project/IATutors/node_modules/webpack/lib/Compilation.js:559:9)
at applyPluginsParallel.err (/Users/pranav/Desktop/angular-first-project/IATutors/node_modules/webpack/lib/Compiler.js:506:17)
at /Users/pranav/Desktop/angular-first-project/IATutors/node_modules/tapable/lib/Tapable.js:289:11
at /Users/pranav/Desktop/angular-first-project/IATutors/node_modules/html-webpack-plugin/index.js:60:9
at tryCatcher (/Users/pranav/Desktop/angular-first-project/IATutors/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/Users/pranav/Desktop/angular-first-project/IATutors/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/Users/pranav/Desktop/angular-first-project/IATutors/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/Users/pranav/Desktop/angular-first-project/IATutors/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/Users/pranav/Desktop/angular-first-project/IATutors/node_modules/bluebird/js/release/promise.js:693:18)
at Async._drainQueue (/Users/pranav/Desktop/angular-first-project/IATutors/node_modules/bluebird/js/release/async.js:133:16)
at Async._drainQueues (/Users/pranav/Desktop/angular-first-project/IATutors/node_modules/bluebird/js/release/async.js:143:10)
at Immediate.Async.drainQueues (/Users/pranav/Desktop/angular-first-project/IATutors/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
本以为无所谓,打开localhost:4200,却发现一个空页面。我打开控制台,上面写着:
Uncaught Error: Cannot find module "."
at webpackMissingModule (register-form.component.ts:18)
at Object.../../../../../src/app/register-form/register-form.component.ts (register-form.component.ts:18)
at __webpack_require__ (bootstrap cb79a8cbd66e1ab28853:54)
at Object.../../../../../src/app/app.module.ts (app.component.ts:8)
at __webpack_require__ (bootstrap cb79a8cbd66e1ab28853:54)
at Object.../../../../../src/main.ts (environment.ts:8)
at __webpack_require__ (bootstrap cb79a8cbd66e1ab28853:54)
at Object.0 (main.bundle.js:1242)
at __webpack_require__ (bootstrap cb79a8cbd66e1ab28853:54)
at webpackJsonpCallback (bootstrap cb79a8cbd66e1ab28853:25)
这可能是我的webpack.config.js 的问题,我不确定我的格式是否正确:
module.exports = {
module: {
rules: [
{
test: /\.pug$/,
use: [
"pug-loader?self",
]
},
{
test: /\.css$/,
use: [
"style-loader",
"css-loader"
]
}
],
loaders: [
{
test: /\.php$/,
loaders: [
"html-minify",
"php-loader"
]
}
]
}
};
我不确定错误试图告诉我什么。为什么要寻找模块“。”?我应该怎么做才能解决这个问题?
【问题讨论】:
标签: angular npm angular-cli node-modules