我目前正在学习 webpack 和 MEAN 堆栈。我需要将我的 scss 文件加载到我的项目中,并且我在 webpack.common.js 文件中使用了 extract-text-webpack-plugin 和 css-loader 和 sass-loader。它成功地将 scss 文件转换为 css 并将其加载到我的项目所在的文件夹“/dist/”。但是,我在运行 webpack 时遇到错误:
ERROR in ./~/css-loader!./~/sass-loader/lib/loader.js!./~/extract-text-webpack-plugin/loader.js?{"id":1,"omit":1,"remove":true}!./~/style-loader!./~/css-loader!./~/
sass-loader/lib/loader.js!./src/app/app.component.scss
Module build failed:
// html, body{
^
Invalid CSS after "...load the styles": expected 1 selector or at-rule, was "var content = requi"
in C:\Users\Andres\Source\Repos\mean\mean\src\app\app.component.scss (line 1, column 1)
@ ./src/app/app.component.scss 2:21-330
@ ./src/app/app.component.ts
@ ./src/app/app.module.ts
@ ./src/app/index.ts
@ ./src/main.browser.ts
Run Code Online (Sandbox Code Playgroud)
这是webpack.common.js文件,我与(它包括在几乎所提供的webpack.common.js文件工作mean.io有一些细微的变化我做了,开始你的意思的应用程序):
const webpack = require('webpack');
const helpers = require('./helpers');
const AssetsPlugin = require('assets-webpack-plugin');
const …Run Code Online (Sandbox Code Playgroud) 我将 mean.io 提供的 starter 用于一个简单的 MEAN 应用程序。在开发中,我对 sockjs-node 请求没有问题:
http://localhost:3000/sockjs-node/info?t=1515290831331
Run Code Online (Sandbox Code Playgroud)
但是,一旦我在 Heroku 上部署,应用程序就无法使用以下请求加载数据:
http://sleepy-escarpment-60068.herokuapp.com:8817/sockjs-node/info?t=1515290831331
Run Code Online (Sandbox Code Playgroud)
我决定使用邮递员测试该请求,但我也没有成功。但是,我在尝试从该 URL 请求数据时注意到了一个小问题。正是在 Heroku 上部署时,它添加了 Heroku 分配的端口,在我的情况下为 8817。我决定测试一个类似的 URL,但这次没有使用 heroku 的端口(8817):
http://sleepy-escarpment-60068.herokuapp.com/sockjs-node/info?t=1515290831331
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我可以收到响应数据。因此,我的想法是在应用程序从以下位置发送请求后更改 URL 的路径:
http://sleepy-escarpment-60068.herokuapp.com:8817/sockjs-node/info?t=1515290831331
Run Code Online (Sandbox Code Playgroud)
到
http://sleepy-escarpment-60068.herokuapp.com/sockjs-node/info?t=1515290831331
Run Code Online (Sandbox Code Playgroud)
但是,我不知道该怎么做,也不知道在应用程序的何处应用此解决方案。我一直在搜索 /sockjs-node/info?t=1515290831331 问题的解决方案,人们建议使用 webpack.dev.js 文件重定向请求:
devServer: {
port: METADATA.port,
host: METADATA.host,
historyApiFallback: true,
watchOptions: {
// if you're using Docker you may need this
// aggregateTimeout: 300,
// poll: 1000,
ignored: /node_modules/
},
disableHostCheck: true,
proxy: {
'**/sockjs-node': {
changeOrigin: true,
pathRewrite: {
'**/sockjs-node': '/test'
}
},
} …Run Code Online (Sandbox Code Playgroud)