рд╡реЗрдмрдкреИрдХ 2 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реБрдП, рдореЗрд░рд╛ рдмрд┐рд▓реНрдб рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ:
ERROR in ./~/ng-table/src/browser/pager.html Module build failed
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЖрдпрд╛рдд рдХрд░рдирд╛ (рд╡рд┐рдлрд▓):
import * as ngTable from 'ng-table'
рдмрдВрдбрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ (рд╕рдлрд▓рддрд╛):
require('ng-table/bundles/ng-table.js')
рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди:
'use strict';
const webpack = require('webpack');
const NgAnnotatePlugin = require('ng-annotate-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const argv = require('yargs').argv;
const path = require('path');
module.exports = {
watch: false,
bail: true,
cache: true,
devtool: 'source-map',
entry: './typescript/app/app.ts',
output: {
path: path.resolve(__dirname, 'public'),
filename: 'build/main.bundle.js',
sourceMapFilename: '[name]-[chunkhash].map'
},
resolve: {
extensions: [
'.webpack.js',
'.web.js',
'.ts',
'.js'
],
alias: {
Raven: path.resolve(__dirname, 'node_modules/raven-js/src/raven.js')
}
},
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
}),
new NgAnnotatePlugin({
add: true
}),
new ExtractTextPlugin('build/[name].css'),
new HtmlWebpackPlugin({
filename: 'index.html',
inject: false,
hash: true,
cache: false,
template: 'ejs-loader!./typescript/index.html',
locals: {
environment: ENVIRONMENT,
production: process.env.PRODUCTION,
cdnDomain: CDN_DOMAIN,
backendUrl: BACKEND_URL,
releaseVersion: RELEASE_VERSION
}
}),
new webpack.SourceMapDevToolPlugin({
filename: '[file].map', // if no value is provided the sourcemap is inlined
test: /\.(ts|js)($|\?)/i // process .js and .ts files only
})
],
module: {
rules: [
{
test: /\.ts$/,
loader: 'awesome-typescript-loader'
},
{
test: /\.p?css$/,
loader: ExtractTextPlugin.extract({
fallbackLoader: 'style-loader',
loader: [
'css-loader',
'postcss-loader'
]
})
},
{
test: /\.html$/,
exclude: /index.html$/,
use: [
{
loader: 'ngtemplate-loader',
options: {
relativeTo: path.resolve(__dirname, 'typescript')
}
},
{
loader: 'html-loader'
}
]
}
]
},
devServer: {
historyApiFallback: true
}
}
@faceleg рдХреНрдпрд╛ рдЖрдк рдЙрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ? рдореИрдВ рдПрдХ AngularJS 1.5 рдРрдк рдХреЛ рд╡реЗрдмрдкреИрдХ 2 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓реЙрдЧ рдореЗрдВ GET http://app.finderbox.dev/app/ng-table/pager.html 404 (Not Found)
рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред
@richtmat рдирд╣реАрдВ, рдореИрдВрдиреЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдФрд░ рд╡реЗрдмрдкреИрдХ 1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ $ relativeTo
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ ngtemplate-loader
рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ http://app.finderbox.dev/...
рдирд╣реАрдВ рдЦреЛрдЬрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИред рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: webpack-contrib/html-loader#91. рдореИрдВ [email protected]
рдФрд░ [email protected]
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдЕрдкрдиреЗ test
рдкрд░ .html
рдХреЗ рд▓рд┐рдП, relativeTo
рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рд╡реЗрдмрдкреИрдХ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдареАрдХ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдирдЬреА-рдЯреЗрдмрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреИрд╢ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдЕрдкрдиреЗ рдмрдВрдбрд▓ рдХреЛ рдХреНрд░реИрдХ рдХрд░реЗрдВ рдФрд░ рдЙрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред
рдЪреВрдВрдХрд┐ рд╣рдореЗрдВ рдЕрднреА рднреА рдПрдХ рдЙрдкрд╕рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдореИрдВ рдЕрдкрдиреЗ рдРрдк рдХреЗ рд▓рд┐рдП рд▓реЛрдбрд░/рдЯреЗрд╕реНрдЯ рдмреНрд▓реЙрдХ рдФрд░ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдмреНрд▓реЙрдХ рдХреЗ рд╕рд╛рде рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
@mheppner рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЪреАрдЬрд╝ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ (рдпрд╣рд╛рдБ рдФрд░ https://github.com/esvit/ng-table/issues/969)ред
рдлрд░реНрдХ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реИ рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдЯреЗрдореНрдкрд▓реЗрдЯ рднреА рдЧрд▓рдд рд╣реИрдВред .dev
рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ url рдореЗрд░рд╛ рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд╛рд╕ url рд╣реИ, рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ https://github.com/esvit/ng-table/issues/969 рдореЗрдВ рдХрд╣рд╛ рдерд╛, рдореИрдВрдиреЗ рдмрдВрдбрд▓ рдХреА рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдкрдиреА рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд░рдЦрд╛ рд╣реИред рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреИрд╢ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ: $templateCache.put('ng-table/pager.html', html);
ред рдореИрдВ рдЕрднреА рднреА рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдирдЬреА-рдЯреЗрдмрд▓ рдпрд╛ рд╡реЗрдмрдкреИрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ ...
рдКрдкрд░, рдпрд╣рд╛рдБ рд╡рд╣реА рддреНрд░реБрдЯрд┐
рдпреЛ, рдореИрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдирдЬреА-рдЯреЗрдмрд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдмрджрд▓рдХрд░ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдмрдВрдбрд▓ рд╕реЗ рд╕реАрдзреЗ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рддрдп рд╣реИ:
import 'ng-table/bundles/ng-table';
рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: 'рдЯреЗрдмрд▓/рдмрдВрдбрд▓/рдСрдлрд╝-рдЯреЗрдмрд▓' рдЖрдпрд╛рдд рдХрд░реЗрдВ;
рдпрд╣рд╛рдБ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ред рдЬреИрд╕реЗ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╕рдордп
import { ngTableModule } from 'ng-table';
рддреЛ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдФрд░ рдкрд╛рдж рд▓реЗрдЦ рдХреЛ рдмрдВрдбрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк HTTP 404 рд╣реЛрддрд╛ рд╣реИред
рдЖрдпрд╛рдд рдХреЛ рдмрджрд▓ рд░рд╣рд╛ рд╣реИ
import 'ng-table/bundles/ng-table';
рд╣реЗрдбрд░/рдлрд╝реБрдЯрд░ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рдЧрд╛рдпрдм рд╣реИ: ^ рдФрд░ рд╡реА рд╕реЙрд░реНрдЯрд┐рдВрдЧ рд╕рдВрдХреЗрддрдХ рдирд╣реАрдВ рджрд┐рдЦрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЫрдБрдЯрд╛рдИ рд╣реЛрддреА рд╣реИ рд▓реЗрдХрд┐рди рдХреЛрдИ рджреГрд╢реНрдп рд╕рдВрдХреЗрдд рдирд╣реАрдВ рд╣реИред
рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?
@sargue рдпрд╣ рдХреБрдЫ рдорд╣реАрдиреЗ рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЦреБрдж рдХреЛ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рд╕реЙрд░реНрдЯрд┐рдВрдЧ ^ рдФрд░ рд╡реА рдирд╣реАрдВ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реВрдВред
рдЬреЛрдбрд╝реЗрдВ
import 'ng-table/bundles/ng-table.css';
:)
рдзрдиреНрдпрд╡рд╛рдж @jheimbouch , рдореИрдВ рдЗрд╕реЗ рдЖрдЬрдорд╛ рдирд╣реАрдВ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрдм рдЙрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рд╡реИрд╕реЗ рднреА рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред
рдореИрдВ рдЕрдкрдиреЗ webpack.config.js рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбрд╛рд▓рдХрд░ рд╡реЗрдмрдкреИрдХ рдХреЗ рд╕рд╛рде HTML рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдареАрдХ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:
module: {
rules: [
// ...
{ test: /ng-table\/.*\.html$/, use: ['ngtemplate-loader?requireAngular&relativeTo=/src/browser/&prefix=ng-table/', 'html-loader'] }
]
}
рдЗрд╕рдХреЗ рд▓рд┐рдП NPM рдкреИрдХреЗрдЬ ngtemplate-loader
рдФрд░ html-loader
рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг: https://github.com/esvit/ng-table/issues/969#issuecomment -703458126
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдпреЛ, рдореИрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдирдЬреА-рдЯреЗрдмрд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдмрджрд▓рдХрд░ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдмрдВрдбрд▓ рд╕реЗ рд╕реАрдзреЗ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рддрдп рд╣реИ:
import 'ng-table/bundles/ng-table';