从bower转到npm,包括来自node_modules的css - AngularJS Webpack Sass

时间:2017-12-21 11:52:49

标签: css angularjs webpack

我有一个运行在Bower和Npm模块上的AngularJS应用程序。

例如,我使用angular-material-data-table使用bower install angular-material-data-table --save并将此内联添加到index.html

<link rel="stylesheet" href="bower_components/angular-material-data-table/dist/md-data-table.min.css" />

这是我的应用的层次结构。

- app
- - scripts
- - styles

内部样式我目前使用.scss扩展名,并有一个main.scss文件,我@import我的文件然后被处理。

我现在也在使用Webpack

const path = require('path');
const webpack = require('webpack');

module.exports = {
  entry: './app/scripts/app.module.js',
  output: {
    path: path.resolve(__dirname, 'app/build'),
    filename: '[name].bundle.js',
  },
  resolve: {
    alias: {
      'jquery-ui': 'jquery-ui-dist/jquery-ui.js'
    }
  },
  module: {
    loaders: [
      {
        test: /.json$/,
        loaders: [
          'json-loader',
        ],
      },
      {
        test: /.js$/,
        exclude: /node_modules/,
        loader: 'eslint-loader',
        enforce: 'pre',
      },
      {
        test: /\.(eot|woff|woff2|svg|ttf|png)([\?]?.*)$/,
        loader: 'file-loader',
      },
      {
        test: /\.(css|scss)$/,
        loaders: [
          'style-loader',
          'css-loader?minimize=true',
          'postcss-loader',
          'sass-loader',
        ],
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loaders: [
          'ng-annotate-loader',
          'babel-loader',
        ],
      },
    ],
  },
  plugins: [
    new webpack.ProvidePlugin({
      "moment": "moment",
      "$": "jquery",
      "jQuery": "jquery",
      "window.jQuery": "jquery"
    })
  ],
  externals: ['window'],
  devtool: '#inline-source-map',
};

所以我试过

加入 app.module.js

import '../../node_modules/angular-material-data-table/dist/md-data-table.min.css';

还尝试添加

@import '/node_modules/angular-material-data-table/dist/md-data-table.css';

内的

main.scss

两者都不起作用。

0 个答案:

没有答案